
ColinHardie asked a question.
Hi,
I am keen to understand the logic/processing that Snow use to determine whether an application that was installed on a machine and subsequently removed and how this relates to the data that is then fed to ServiceNow.
We are in the process of attempting to use ServiceNow as an accurate source of data for advising users to remove potentially high risk software (e.g. determine from Snow data if an unauthorised game is installed and contact them to remove it).
When reviewing the data held in Snow License Manager database I see that it does not always reflect the data that is then sent to ServiceNow. As an example, look at the the following entries held for 'Games - The Jackbox Party Pack'...
For 2 machines, IDs 171918 and 203534, they removed the installed application.
Once the data was fed via the agent and DUJ run, we can see an entry for only 1 in tblComputerApplications (ComputerID 171918). There are entries for both machines in tblComputerApplicationsHistory. On the face of it, this does not look like an issue, SLM data looks fine. That is until we review the ServiceNow data. Because there is no entry in tblComputerApplications for 203534, then there is nothing for the SIM to pass to ServiceNow and therefore the installation data for this machine is effectively orphaned e.g.
171918 correctly showing application entry with 'Has Local Installation' false
vs 203534 incorrectly showing 'Has Local Installation' = true even though the application was uninstalled.
The replicate assets document for the Snow for ServiceNow connector shows that the IsInstalled flag is used to set this 'Has Local Installation' flag but it obviously can't if there is no record in SLM table...
Does anyone know the logic of what dictates whether an application that is uninstalled still maintains a tblComputerApplications entry (with an IsInstalled=0) vs one where the record is completely removed?
The accuracy of the CMDB is hugely important, especially if we are to use it for high risk software removal campaigns, we don't want to be contacting users when the software in question has already been removed. It looks like from my initial analysis that this might not always be the case.
I'm aware of an idea proposed a few months which basically describes the same issue (Snow vs ServiceNow installed applications being skewed) but no proposed answer from Snow?
Hi Colin,
We unfortunately also do struggle with application upload to ServiceNow.
In Snow License Manager this looks ok.
The logic in tblcomputerapplication for uninstalled software is:
Table tblcomputerapplicationhistory will always keep the history, so in SLM you can see when an application was installed or uninstalled
For upload to ServiceNow the tblcomputerapplication (or the corresponding API table) is used. The upload to ServiceNow do always send the total applications for that computer to ServiceNow. So when there still is a row in tblcomputerapplication and isinstalled flag is 0, then this will be uploaded to SreviceNow and you can see the application was uninstalled.
But when there was no metering and the row was removed in tblcomputerapplication, then there is nothing SIM can send and so the applications stays at this computer in ServiceNow.
I already discussed this with Snow, but no solution yet.
We have some similar problems also with VMware relationships and we just try to solve this in ServiceNow.
After that we will check, if we perhaps can find a solution for the uninstalled applications. (Perhaps something like: when application is not includd in upload anymore then set HasLocalInstallation = No ?)