Troubleshooting Hardware Inventory for SCCM 2012

NOTE: this blog post has been updated, so please see the updated post: /updated-troubleshoot-configmgr-hardware-inventory-issues


I thought that it was about time to finally update my article on how to troubleshoot hardware inventory flow. Although not much has changed since I originally wrote the article back in 2008, in this updated version I have added a few more steps and will show you how this applies to all four inventory types.


This blog post will provide you with the steps needed to troubleshoot inventory as it flows from the PC to the Configuration Manager (ConfigMgr) database. As a result, this guide will help pinpoint any issue within your inventory flow.


All screenshots are from a System Center 2012 Configuration Manager (CM12) client and site server; the site server is running Windows 2008 R2. Why am I telling you this? The reason is simple. All of the steps that I perform ARE applicable to CM12, CM07, SMS 2003 and SMS 2.0. The only difference is that some of the file locations might have changed between versions, so you might need to do a bit of extrapolation.


Phase 1 – Client PC


On the CM12 client within the inventoryagent.log you will never see it say that it is doing a hardware inventory cycle, software inventory cycle, etc. It will only list the GUID that is used for that action. This table provides you with those details to translate the GUID to the inventory action.


Inventory Action


Hardware Inventory


Software Inventory


Data Discovery Record


File Collection



For my example, I will use hardware inventory, but if you need to troubleshoot any of the other inventory types the process is exactly the same. Simply replace the hardware inventory GUID ID in my example with the appropriate GUID ID.


Open the Control Panel and select the ConfigMgr applet.

SCCM Cleitn Actions

Select the Actions tab. Select Hardware Inventory Cycle, and then click Run Now.

SCCM client Hardware inventory cycle complete

Click OK twice, to close the ConfigMgr applet.

SCCM Inventoryagent.log showing delta inventory for Hardware Inventory

Next, open the InventoryAgent.log using CMTrace. Confirm that the hardware inventory has started by locating the GUID ID (red arrow). Notice that this inventory cycle is a Delta inventory cycle (blue arrow).

SCCM client Inventoryagent.log show Hardware inventory cycle compeleted
Wait for the inventory to complete (blue arrow).

Ipconfig showing IP address
Open a command prompt and determine the IP address of the client PC.

Phase 2 – MP Server

IIS log for MP showing SCCM cleint uploading hardware inventory

On your MP server locate your IIS logs. They are generally found here: c:\inetpub\logs\LogFiles. Again use CMTrace, open the current IIS log, locate the IP address for the client PC. Notice that the hardware data was uploaded to the MP.


If you get to this point then you know that the PC has transferred its inventory to the MP and therefore it is not a problem on the client. If you don’t get the above lines then the problem is on the client.

Now locate your MP client logs. These logs can be located in a few different places, but generally they will be either on the same drive as your CM site server installation or C:\Windows\ccm\logs. In my case they were found here d:\Program Files\SMS_CCM\Logs.

Site server MP log showing the hardware inventory being passed to the dataloader

You can see that the hardware inventory from my client was received by the MP and moved into MP outboxes. Make a note of the file name (red arrow).

At this point you know that you don’t have a problem with the MP.

Phase 3

Now move to your site server; in my case it is the same server. 

Dataloader processing the Hardware inventory for the SCCM client
Open up the dataldr.log located here D:\Program Files\Microsoft Configuration Manager\Logs. Notice that the file is moved from the to authenticated (red arrow).
Then notice a few lines later that the PC name is listed (blue arrow) and the inventory is being added to the CM12 database. You can see that it is added into the CM12 database because 171 stored procedures were executed within the database. This also means that ~171 items were updated on the client PC from the last time the hardware inventory was run. For a full inventory expect the number of stored procedures to be executed to be well over 3,000.

Resource Explorer showign that SCCM cleitn data has been udpated in the SCCM database

To confirm that the data is updated and added to the CM12 database, open Resource Explorer and review the last hardware scan date (gold arrow). This date/time will match the data/time for the hardware inventory as seen in the inventoryagent.log. (Note: I trimmed this information from the screenshot for space reasons.)

See how Right Click Tools are changing the way systems are managed.

Immediately boost productivity with our limited, free to use, Community Edition.

Get started with Right Click Tools today:

Share this:


  • This field is for validation purposes and should be left unchanged.


  • This field is for validation purposes and should be left unchanged.