ConfigMgr

Extend Hardware Inventory for Software

Topics: ConfigMgr

I recently posted about creating some collections based on queries for the Recast Software. Someone on twitter pointed out that it would be better to use “Installed Software” instead of “Install Application” for the query, while I don’t disagree, depending on your reasons, Installed software is not included in Hardware Inventory by default, so unless you went out of your way to enable it (and you should), you could not use it in a query.‍

So let’s talk about the differences first [Hardware Inventory MS Docs]

  • Installed Applications and Installed Applications (x64) is raw data from the uninstall keys in the registry.
  •   HKLM:softwaremicrosoftwindowscurrent versionuninstall
  •   HKLM:softwarewow6432nodemicrosoftwindowscurrent versionuninstall
  • Installed Software pulls from Asset Intelligence, which is a combination of multiple locations. [MS Docs]

Based on the application, it might show up in Installed Applications or Installed Applications (x64), where as there is no doubt it will show up in “Installed Software”. What that means, if you use the Installed Software class in your queries, you can rest comfortably that you’ll get the Machines with the software into the collection.

First off, lets take a look at trying to add a query based on Installed Software

Device Collection Wizard

Working on Creating a Collection, added a query then choosing “Installed Software”.. but before that I’m going to show you what is under “Installed Applications”.

Criterion Properties

Installed Applications
Criterion Properties Installed Software
And look, nothing. This query wouldn’t work so well.

So let’s see what is needed to enable that class to be used in queries.

Administrations Node Client Settings

In the Administration Node, in Client Settings, pick your Client Setting you want to modify, I’m going to use the default, I personally can’t think of a reason not to enable it on the Default. Once you in the settings, go to Hardware Inventory, click on “Set Classes”.

Hardware Inventory Classes Applications

The Installed Application classes are enabled by default, but not the Installed Software.
Hardware Inventory Classes Installed Software

Let’s check that Box for “Installed Software” and click OK.
Machine Policy Update

You’ll want to trigger both a Machine Policy Update (So it gets the new Client Settings), the Trigger the Hardware Inventory. I used the handy dandy Right Click Tools for that.
Criterion Properties Installed Software

So after a few minutes to wait for inventory to role in, you can now see that I have information in the “Installed Software” to use in the Queries.
Collection Evaluation Viewer

I used Collection Evaluation Viewer to see if the collections evaluated differently with different queries.

From the results, doesn’t appear much difference in the queries used. I ran “Update Membership” several times and they were always pretty close.  However, this lab only has a few machines and probably pretty good hardware, so it’s not really representative of a normal production environment, so feel free to setup both versions of the query for some software and then check them out in Collection Evaluation Viewer

ServerTools Software Install

So now you’ve got another way to get data about the software installed on your machines.

‍Ok, I’ve run CEViewer when I have a little more data available, and using an application I know is installed on a large % of machines, it seems like Installed Software took longer to run the query, but it also found more devices, so unsure what that’s about.

Collection Evaluation Viewer

You can see that the time for Installed software is about another 40 seconds, like 30% longer. Overall, not a big deal.
Collection Viewer

Running an Update of the Collection after the initial run was much faster, but you can still see a large time gap between them
Adobe Collection Viewer

For Context, those are the member counts after evaluating the software. Installed Software found a few more machines, not exactly sure why.

Back to Top