< Blog

Configuration Manager Inventory Cycle Recommendations

By Garth Jones

I’m often asked for advice about Configuration Manager’s inventory settings.

First, what are the three different inventories?

1. Hardware Inventory (includes Asset Intelligence data)

2. Software Inventory

3. Heartbeat Discovery

Hardware Inventory
You would think based solely on its name that this inventory setting only shows details about the physical hardware. It is true that it does show you details about your physical hardware, but it also shows data collected from WMI. This inventory type is customizable.

Software Inventory
Again, based solely on its name, you would think that this setting is what you should use to inventory software that is installed on your PC. Well, that is not truly its purpose. It really should be renamed to file inventory as this is exactly what it does.

Heartbeat Discovery
This inventory setting is listed with the other discovery tasks. Many people overlook the value of this inventory / discovery data. This one is similar to the hardware inventory setting, but it has a much smaller, pre-defined list of classes / attributes that it will inventory. There are 18 classes that this inventory will perform. The main ones are: User Name, MAC Address, IP address, and PC name.

Here are my inventory setting recommendations:

Inventory Setting Schedule
Heartbeat DiscoveryDaily and in some cases as little as hourly.
Hardware InventoryDaily.
Software InventoryTurn it off or every 14 days.

Why this recommendation? The simple answer is it gives you the best bang for the buck!

Since most inventory settings are used for reporting, the two most important inventory settings that you are going to use are Heartbeat Discovery (for the v_R_System SQL view) and Hardware Inventory (for all of the v_GS_* SQL views). Virtually no one uses the Software Inventory setting anymore, particularly if they have Asset Intelligence enabled. One of the main reasons for NOT using the Software Inventory setting is its speed and performance. Read my blog post entitled Slow Software Inventory Cycle in SCCM 2012 for more reasons as to why I don’t like it.

To help prove my point, let’s look at how long it takes for my laptop (Dell M4500 with an SSD drive) to perform each of the following inventory tasks.

Inventory CycleTime in Seconds
Heartbeat Discovery3.432
Hardware Inventory380.939
Software Inventory2041.804

Hardware Inventory Cycle Note:
I have lots of extra Hardware Inventory classes enabled, however, they should only add a few extra seconds to the total time.

All Asset Intelligence classes are enabled and they add ~60 seconds to the total time of the Hardware Inventory cycle.

Software Inventory Cycle Note:
I’m only inventorying iexplore.exe within C:\Program Files\Internet Explorer\* directory! Just image how long it would take to inventory all exe files on my C:\!

Would any of your end users notice that you ran both the Heartbeat Discovery Inventory and Hardware Inventory every day when they take a combined total of 385 seconds and the CPU usage / disk usage never goes above 2% during that time frame? I have never had any clients complain about either Heartbeat Discovery or Hardware inventories, but I hear many end users complaining about Software Inventory.