- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-13-2024 07:11 AM
Good day to all. I am relatively new on the Software side of things, and really, it's in another department's hands, but discovery is kind of my area.
The issue I am having is that on our servers we are getting data from SCCM SG and ServiceNow discovery. In the [cmdb_sam_sw_install] table, I am seeing duplicates of most installed software. One from SCCM, and one from SN discovery. In some cases they have different versions. For example one discovered software shows version 6.55.16950.0, another shows 7.10.18083.0. To me it seems like old data is not being removed when new versions (or updates) are installed.
We are running the SAM - Deduplicate Install Table job daily, and I even did an execute now, and very little has changed.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2024 02:31 AM
Hi Jason,
ServiceNow Discovery effectively removes and updates software installations that are not detected in the latest discovery scan. However, and seeing that you have another data/discovery source, Service Graph Connector for SCCM (SG-SCCM), installation records are retained and not removed, which can result in multiple software installation records for the same product with different versions.
To remove software installation records not found on the computer in the latest SG-SCCM discovery, you can activate the Service Graph Connector Scheduled Import Data job - "SG-SCCM Removed Software." This job may need to run several times to fully remove multiple versions of software installation records with an SG-SCCM discovery source. The number of runs needed depends on the volume of records to be removed.
For servers, I typically recommend setting ServiceNow Discovery as the primary data source. You can verify and configure this in the CI Class Manager by checking your reconciliation rules for both server and computer classes and setting the appropriate data source priorities.
Additionally, there is a setting in Discovery properties you might consider if you prefer ServiceNow Discovery not to populate software records for end-user computers managed by SCCM. You can access it via:
Discovery > Discovery Definitions > Properties
Windows software is SCCM managed: If set to "yes," Discovery will not populate software records for computer CIs also managed by SCCM.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2024 02:31 AM
Hi Jason,
ServiceNow Discovery effectively removes and updates software installations that are not detected in the latest discovery scan. However, and seeing that you have another data/discovery source, Service Graph Connector for SCCM (SG-SCCM), installation records are retained and not removed, which can result in multiple software installation records for the same product with different versions.
To remove software installation records not found on the computer in the latest SG-SCCM discovery, you can activate the Service Graph Connector Scheduled Import Data job - "SG-SCCM Removed Software." This job may need to run several times to fully remove multiple versions of software installation records with an SG-SCCM discovery source. The number of runs needed depends on the volume of records to be removed.
For servers, I typically recommend setting ServiceNow Discovery as the primary data source. You can verify and configure this in the CI Class Manager by checking your reconciliation rules for both server and computer classes and setting the appropriate data source priorities.
Additionally, there is a setting in Discovery properties you might consider if you prefer ServiceNow Discovery not to populate software records for end-user computers managed by SCCM. You can access it via:
Discovery > Discovery Definitions > Properties
Windows software is SCCM managed: If set to "yes," Discovery will not populate software records for computer CIs also managed by SCCM.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2024 07:31 AM
Thanks for these insights. I found documentation on turning on the Software Asset Property Enable scheduled jobs when using 3rd party Datasource Integration Framework, which said that it would clean up this issue, but it did not.
I am talking with out management on if they want to stay with just the SN discovery for software. Would have to do an assessment of what some of the data shows, but I think that we may fall to that.
I'm guessing that I would then have to manually (or script) removal of the other SCCM software records?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2024 09:23 AM
Correct! The best and quickest way to create and run a background script to remove all Software Installation where data discovery source = SG-SCCM.
The Software asset setting you mentioned is relevant when dealing with data sources external to ServiceNow that require periodic imports, transformations, or updates within the ServiceNow platform. It not required for SG-SCCM, which leverages IntegrationHub ETL and Service Graph Connectors that are specifically designed to manage and automate data import, transformation, and normalization processes for SCCM data within ServiceNow. It has its own predefined configurations and data load processes, so the additional scheduled jobs are generally unnecessary.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2024 09:51 AM
Ok, so external would not be any of the Service Graph connectors. Got it. Thanks again for all the detail you have provided.