ServiceNow Discovery, SCCM, & Data Precedence

cloudyrobert
Kilo Guru

I've implemented the SCCM integration in our development environment (com.snc.integration.sccm2016). My intention is for SCCM to serve as the authoritative source for the devices it covers, supplemented by ServiceNow Discovery where there is not a conflict with data from SCCM. It appears that ServiceNow Discovery & the SCCM integration are overwriting each other. I've set up a Data Precedence Rule for both SCCM (priority 100) and ServiceNow (priority 200) on the cmdb_ci_computer table, yet ServiceNow Discovery continues to overwrite certain fields (disk space and name in particular) and relationships (disks, file systems, serial numbers).

My understanding is that the precedence rule should keep Discovery from overwriting fields set by SCCM. I'm aware that the SCCM integration does not honor the rules (https://hi.service-now.com/kb_view.do?sysparm_article=KB0748948), but shouldn't Discovery?

My questions:

  1. Why isn't Discovery honoring SCCM as a source with higher precedence and not overwriting values sourced from SCCM?
  2. Are relationships included in the precedence rule on the table so that when I resolve question 1's issue, the relationships will also stop being overwritten?
1 ACCEPTED SOLUTION

cloudyrobert
Kilo Guru

This does have to do with the SCCM integration not using the IRE, pre-Orlando. Since there are no entries in the cmdb_datasource_last_update table due to the integration not using the IRE, the data precedence rules aren't followed. The main cases for me are Name and OS Domain. There's a PRB (PRB691517) with a workaround for this in a KB (KB0753063) if you ask for access from HI. They use a couple of properties to change the way these fields are set to make the overwriting not a problem, but they're not a true fix of the underlying issue. We're now just seeing the Discovery source flip back and forth, which is OK until Orlando.

View solution in original post

7 REPLIES 7

Patrick DeCarl1
ServiceNow Employee
ServiceNow Employee

Can you share the steps you took? 

Not all of this is related, I don't think, but I believe this covers all that I've done...

  1. Activated the plugin (com.snc.integration.sccm2016).
  2. Configured the data sources for our environment.
  3. Activated the AI jobs & deactivated the corresponding non-AI jobs for software.
  4. Updated the computer identity data source SQL statement to pull TopConsoleUser
  5. Updated the SCCM 2016 Computer Identity transform map
    1. Commented out the call to "setAssignedTo()" in the script
    2. Added a mapping for most recent discovery that sets the value to gs.nowDateTime()
    3. Added a mapping for discovery source that sets the value to "SCCM"
    4. Added a mapping for a custom "primary user" field set from the TopConsoleUser
  6. Created two data precedence rules on cmdb_ci_computer from the CI Class Manager
    1. Priority 100
      1. Data source: SCCM
      2. Applies to: Computer
      3. Active
    2. Priority 200
      1. Data source: ServiceNow
      2. Applies to: Computer
      3. Active

That link says the version was withdrawn from the store.

?!


The opinions expressed here are the opinions of the author, and are not endorsed by ServiceNow or any other employer, company, or entity.