Configuration Manager and Software Inventory: Proceed with Caution
By Garth Jones
I can’t even begin to count the number of times I’ve recommended to someone that they turn off Configuration Manager’s Software Inventory! Issues with Software Inventory (SW inv) come up all the time within many of the forums and mailing lists that I’m active on. I always point folks back to my blog posts: Slow Software Inventory Cycle in SCCM 2012, Configuration Manager Inventory Cycle Recommendations and Updated – Troubleshoot ConfigMgr Hardware Inventory Issues. Yes, that last blog post is about hardware inventory, but for troubleshooting SW inv issues it works fine too.
Software Inventory shouldn’t be called software inventory at all. Instead it should be called File Inventory as it actually only collects file header details. Inevitably a new ConfigMgr admin will enable it and add either *.* or *.exe; in either case this is bad news.
A LARGE number of MVPs, if not all, tell people to use Configuration Items (CIs) instead of SW inv to look for a single file. However, CIs are a bit harder to setup whereas SW inv is easier, but almost always is done in a matter that will result in poor performance on the ConfigMgr clients.
If you are still intent on using SW inv, despite my recommendation, then read on as I will show you how to set it up correctly.
In this example, I will ONLY inventory iexplore.exe (also known as Internet Explorer) within BOTH %ProgramFiles%\Internet Explorer and %ProgramFiles(x86)%\Internet Explorer.
Start by opening the Configuration Manager console, select the Administration node and then Client Settings.
Right-click on Default Client Settings and then click on Properties.
In the Default Settings, select the Software Inventory node. Now click on the Schedule button.
In the Configure Client Setting window, change the Run every option to 14 days and then click on the OK button to accept the new setting.
Back in the Default Settings window, click on the Set Types button.
In the Inventoried File Properties window, enter iexplore.exe in the file name text box. Next click on the Set… button.
In the Path Properties window, select the Variable or path name option. In the text box enter, %ProgramFiles%\Internet Explorer, then unselect the Search subfolders checkbox before clicking on the OK button twice.
Repeat the process again to add a second iexplore.exe within the %ProgramFiles(x86)%\Internet Explorer folder. Your results should look similar to the above screenshot. Click on the OK button to apply these settings.
Back on the Default Settings window, click OK to apply all changes.
Now all of your clients will be using the most efficient way possible to return results for iexplore.exe with Software Inventory.
If you have any questions about this post, please feel free to contact me @GarthMJ.