Discovery - 'WMI: Installed software' returns software items which appear to be uninstalled.Summary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } This information doesn't apply to: Internet Explorer Discovery utilizes data stored in the Windows Registry to generate entries in the cmdb_sam_sw_install table, which tracks software installations. In some cases, when software is uninstalled, the associated registry entries are not fully removed by the uninstallation. This residual data persists in the registry, causing ServiceNow Discovery to continue identifying these entries as if the software were still installed. As a result, the cmdb_sam_sw_install table may reflect outdated or incorrect information about installed software due to these lingering registry records. We've attached a PowerShell script that will compile a report of the registry entries used by Discovery, packaged as 'installed-software-debug.ps1.zip'. This script is designed to identify residual registry data that may persist after software uninstallation, which could otherwise cause ServiceNow Discovery to inaccurately reflect software installations in the cmdb_sam_sw_install table. The report generated by the script will help administrators audit lingering registry entries and take corrective action if needed. Instructions for installed-software-debug.ps1: Extract 'installed-software-debug.ps1' to a working directory e.g C:\Users\Administrator Open Powershell as an Administrator (Start > "Windows Powershell" > Right click > Run as Admin)Change directory to where the script was extracted PS C:\Windows\system32> cd C:\Users\AdministratorSet execution policy to Unrestricted (scoped to process, only affects the current Powershell window) PS C:\Users\Administrator> Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted Execute the script PS C:\Users\Administrator> .\installed-software-debug.ps1 Script will run and print out the location of the log file it created " Registry export completed successfully! Output saved to: C:\Users\Administrator\InstalledSoftware.txt"Review InstalledSoftware.txt, registry entries can be deleted at your own risk after confirming that the software has been removed. Reach out to the software vendor for assistance if you're unsure. Note: To confirm that the software has been removed inspect the path mentioned in the 'UninstallString' property, the UninstallString can be run in an elevated Command Prompt window if the software is still installed.Instruction on deleting registry entries has been left out of this article on purpose, please work with Windows SMEs and/or the Software Vendor to determine the best path to resolution.