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 |
GUID ID |
Hardware Inventory |
{00000000-0000-0000-0000-000000000001} |
Software Inventory |
{00000000-0000-0000-0000-000000000002} |
Data Discovery Record |
{00000000-0000-0000-0000-000000000003} |
File Collection |
{00000000-0000-0000-0000-000000000010} |
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.
Select the Actions tab. Select Hardware Inventory Cycle, and then click Run Now.
Click OK twice, to close the ConfigMgr applet.
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).
Wait for the inventory to complete (blue arrow).
Open a command prompt and determine the IP address of the client PC.
Phase 2 – MP Server
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.
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.
Open up the dataldr.log located here D:\Program Files\Microsoft Configuration Manager\Logs. Notice that the file is moved from the dataldr.box to authenticated dataldr.box (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.
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.)

-
[…] /blog/troubleshooting-inventory-flow […]
[…] troubleshooting inventory, so this is why I’m telling you this! For example, in this blog post, Troubleshooting Inventory Flow, I’m talking about the second type of MIF […]
[…] Troubleshooting Hardware Inventory for SCCM 2012 […]
[…] hardware (HW) inventory from a client PC into the ConfigMgr 2012 database by pointing them to a blog post I wrote back in […]
[…] Troubleshooting Hardware Inventory for SCCM 2012 […]
[…] being slow, WMI classes on the clients, and verified that clients were actually submitting Hardware Inventory (they […]
[…] /blog/troubleshooting-inventory-flow […]
Leave a Comment
Hi Mr.Garth Jones,
We are getting errors on Inventory.Clients is working good and all updates, applicaiton are deploying to clients…but inventory is not working….HW/SW, nothing and inventory agent give the following error….i tried everything but still getting the same error on all clients…i repaired agents still no luck….can you help..
Inventory: Opening store for action {00000000-0000-0000-0000-000000000002} … InventoryAgent 10/2/2020 10:12:54 AM 17756 (0x455C)
CInvState::VerifyInventoryVersionNumber: Mismatch found for ‘{00000000-0000-0000-0000-000000000002}’: 1.6 vs. 0.0 InventoryAgent 10/2/2020 10:12:54 AM 17756 (0x455C)
Inventory: Version number mismatch; will do a Full report. InventoryAgent 10/2/2020 10:12:54 AM 17756 (0x455C)
PutInstance failed on 1 attempt. HResult: 80041013 InventoryAgent 10/2/2020 10:12:54 AM 17756 (0x455C)
Inventory: Initialization completed in 0.234 seconds InventoryAgent 10/2/2020 10:12:54 AM 17756 (0x455C)
Inventory: Cycle completed in 0.234 seconds InventoryAgent 10/2/2020 10:12:54 AM 17756 (0x455C)
Inventory: Action completed. InventoryAgent 10/2/2020 10:12:54 AM 17756 (0x455C)
The first thing that I would start with is to Turn off SW inventory.
Next define is it all computers or just some computers that are having problem?