Complete list of software products independent of version and software model for the TRM.

SuzetteH
Tera Contributor

We have a requirement to provide a complete list of software installed in our environment to compare/update the TRM. I have found documentation that suggest using the cmdb_sam_sw_install and the cmdb_software_instance tables, however the generated report/list has a lot irrelevant information (e.g. dlls, built-in OS software, utilities, etc).

  • Is there a way to consolidate the software by product or name without having a separate line item for version and software model? For example we have 15 versions of 7-Zip software. We would only require the software name 7-Zip for our needs.
  • Is it possible to generate the software list excluding software such as dlls, built-in OS software, utilities, etc) which was not installed manually or a via deployment tool.

 

2 REPLIES 2

AakashG0701
Giga Contributor

Hi @SuzetteH,

Hope you are doing well.

 

Proposed Solution

In order to get or extract the complete list of Software Products available in your environment, you need to follow the steps given below: -

  1. Use and Open Software Installation Table (cmdb_sam_sw_install).
  2. Pull out one field named as Product from Software Discovery Model Table to the Software Installation Table using Dot Walking. For this, you just need to configure the List Layout and pull out the Field Discovery Model > Product from Left Panel (Available Section) to Right Panel (Selected Section).
  3. You need to Group by with the column named as Product and this one must be from Discovery Model Table only.

Attaching some snapshots down below for your reference: -

Step 1 - 

AakashG0701_1-1739033591067.png

 

Step 2 - 

AakashG0701_0-1739033510414.png

 

AakashG0701_2-1739033645137.png

 

Step 3 - 

AakashG0701_5-1739033688618.png

 

AakashG0701_6-1739033727215.png

 

Once you'll done with the above steps and as per the actions performed in the snapshots, you'll be able to get the unique software product available in your environment irrespective of version, edition, software model, and etc.

 

For Query#2,

You may use the field named as Product Type which again you need to pull it from Software Discovery Model Table using Dot Walking. The step will be quite similar to Step 2 mentioned above. As this field is a Choice Type field and contains multiple choices and tell you whether the Software is related to Licensable, Not Licensable, Patch, Child, Unknown, and etc. So, with the help of this field, you may use it only for getting the Licensable Software Product which will remove all your other type of Software Products from the final list.

 

Attaching 1 Snapshot down below for your reference: -

AakashG0701_7-1739033755224.png

 

Hope you query will get resolved. If you find the proposed solution as Helpful. Please don't forget to mark it as Helpful and Accept it as a Solution.

 

Thanks 🙂

Aakash Garg

ServiceNow Developer

dreinhardt
Tera Sage

Hi @SuzetteH,

 

To fulfill the requirements you mentioned, a lot of work is needed in advance with regard to discovery model normalization. Normalization is the only way to ensure that you find consistent publisher and product wording.

 

The SW Install Table actually provides a good insight into all software, but as you have already noticed, every install record is displayed here as a line item. I would use the “Discovery Model” table to collect the data for the evaluation. You will also find several models here for a product, also per version/edition, but they are already grouped per installation and thus the scope is reduced. As mentioned, as soon as the normalization of all data is complete (Publisher, Product filled in for all entries). You can also set an additional filter on the “Product Type” and thus filter out patches, child, etc.

 

The final processing/evaluation of the data should probably be done in Excel, because the possibilities of data adjustment there are better and faster compared to SN tables.

 

Best, Dennis

Should my response prove helpful, please consider marking it as the Accepted Solution/Helpful to assist closing this thread.