Thursday, September 18, 2014

Troubleshooting Inventory Flow on SCCM


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.

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

Inventory Flow - Hardware Inventory Cycle
Click OK twice, to close the ConfigMgr applet.


Inventory Flow - Inventory Agent
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).

Inventory Flow - Inventory Complete
Wait for the inventory to complete (blue arrow).

Inventory Flow - IP Address
Open a command prompt and determine the IP address of the client PC.
Phase 2 – MP Server
Inventory Flow - IIS
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.


Inventory Flow - File Name
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.  
Inventory Flow - Dataldr
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.

Inventory Flow - Last Hardware Scan
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.)

Courtesy By  By Garth Jones: http://be.enhansoft.com/post/2013/07/25/Troubleshooting-Inventory-Flow.aspx

No comments:

Post a Comment