- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-06-2020 09:35 AM
We are using an in-house product to install software on laptops/desktops. The same data is used to populate 'Software Installation' table in ServiceNow.
Now coming to software uninstallation, end users themselves uninstall the software whenever they want or the desktop agents will uninstall based on a request.
The in-house product does not have uninstall capability and it cannot track uninstalled products.
In this case, what is the best way to calculate reconciliation (because now all the entries are there in the Software installation table, and some software is uninstalled)
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-07-2020 02:59 AM
Not 100% sure but almost positive.
I'm actaully using the SAM foundation plugin that is part of ITSM and not SAM pro.
But based on some tests I have done it looks like active_install=false are not counted.
It should not be too difficult to test it and worst case if you see it does not work you have 2 options:
1. Delete the record and not use the active_install
2. add a software install condition on your software models (but then you need to remember to add it for all relevant software models)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-06-2020 10:36 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-06-2020 05:08 PM
The best way to track this is via created and updated. Discovery does not delete the servers or the software
that are uninstalled - the reason is the audit, that is the ability to check and backtrack when certain software were used and how long they were used for.
Typically if a software is uninstalled then created and updated would not match, for example if a Splunk product was created on Mar 1 and the last update was Feb 1 then it would indicate that it (Splunk) product is uninstalled..
Please mark helpful or accept solution so that it helps others with a similar question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-06-2020 12:09 PM
The best way to track this is via created and updated. Discovery does not delete the servers or the software
that are uninstalled - the reason is the audit, that is the ability to check and backtrack when certain software were used and how long they were used for.
Typically if a software is uninstalled then created and updated would not match, for example if a Splunk product was created on Mar 1 and the last update was Feb 1 then it would indicate that it (Splunk) product is uninstalled..
Please mark helpful or accept solution so that it helps others with a similar question.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-07-2020 01:09 AM
Hi,
If you are using your own discovery then you would need to handle un-installed software.
On the software installation table there is a field called last_scanned.
If you ensure that each time you get an update on what is installed from your tool you also update this field for each software installation then you know when was the last time you have seen a software installation in practice.
Now you can create a job that runs on your software installation table and looks for records where the last scanned is x days older than the last time you uploaded information
just as an example, if you load information every week, you might want to delete software only after 15 days that it was not discovered to ensure 2 cycles went by and the software is missing so then you assume it is uninstalled.
Once you find these records you have 2 options:
1. delete the record
2. there is a checkbox field called active install - make sure it is set to false. this gives you some audit and history information but reconciliation should not count these records. In my view this is a better option than deleting the record.