Software inventory is a ConfigMgr component which is used to collect information about files and programs contained on client devices in the organization, in addition to gather data about installed programs you can also configure Software Inventory to collect sample files from the client computers.
SCCM Software Inventory Architecture
Once software inventory is enabled an inventory cycle will run on the client which will gather data and report back to the Management Point in the local site, the management point then forwards the the data to the Configuration Manager site server which is ultimately responsible of inserting the information in the site database.
Data that is gathered on the client can be viewed and used in a number of ways for example using ConfigMgr Reporting to keep under control software deployed in your infrastructure.
Enable SCCM Software Inventory
SCCM Software Inventory is enabled by default as part of the default client policy settings but by default no data is gathered as part of the inventory. It is a best practice to leave default client settings untouched let’s just proceed and create custom client settings to do so in the Admin console navigate to [Administration] / [Client Settings] right-click on the node and select Create Custom Client Device Settings
[su_note note_color=”#ffff96″ text_color=”#000000″ radius=”5″]Note: Creating custom client settings has the added advantage of being flexible as you can deploy custom settings to just some clients rather than to all clients as opposed to the default client settings. [/su_note]
Assign the new client settings a descriptive name and tick the Software Inventory checkbox then click OK
Right-Click on the newly created Client settings and select Properties as you can see in the image below Software Inventory is enabled but by default not file type to inventory is specified. This is identical to the default client settings configuration
To specify the type of files we need to inventory click on the Set Types… button to bring up the configuration window where inventory rules can be specified
Click on the sunburst icon which will open the Inventoried File Properties where you can specify file types/name and the location where the file should be searched. To keep everything simple I’ve just specified a simple filter to inventory all EXE files on all hard disks with the exception of the windows folder
You can of course specify as many filters and expressions as needed, once done simply click on OK
As already mentioned the added advantage of using custom client settings is that they are not deployed and need to be advertised to the client, to do so right-click on the custom settings and select Deploy and select the collection to which the settings will be targeted
Be aware the software inventory process can take some time to kick in and report data to the management point so be patient. You can follow the inventory process via the two logs files InventoryAgent.log and FileSystemFile.log with the latter being specific to software inventory below you can see an extract of the log on one of the computers where software inventory run
[su_note note_color=”#ffff96″ text_color=”#000000″ radius=”5″]Note: Be aware that in addition to take some time to kick in Software Inventory can have a negative effect on client’s performances depending on the hardware configuration [su_note]
Once the gathering process is complete you can review the data via the Configuration Manager console, as there are multiple way to access inventory data let’s explore all of them.
View Software Inventory via Resource Explorer
You can view Software Inventory data for a specific computer directly from Resource Explorer as you would do for standard Hardware Inventory data, this is a quick way to make sure all worked as intended. Navigate to [Assets and Compliance] / [Devices] right-click on a client and select Start / Resource Explorer
In the Software node you will be able to see different details about the inventoried software on the client like File Details, when Last Software Scan was run and Product Details which is in the image below
View Software Inventory via ConfigMgr Reporting
If you have deployed the ConfigMgr Reporting Point in your hierarchy you will have access to inventoried software via standard reports which can be found under [Monitoring] / [Reporting] / [Reports] / [Software Files]