Troubleshooting SCCM ..Part II (Hardware Inventory)

Hardware Inventory

Hardware inventory is a feature in itself and functions independent to the other features of SCCM, but it closely depends on a successful deployment.

SCCM Setup has to complete successfully. The Hardware inventory feature on the server side solely depends on setup and successful SQL install. All the tables from the default sms_def.mof should get correctly created in SQL with the right credentials.

Similarly, for the hardware inventory agent to function as per requirements on the Advanced client, the client setup should have completed successfully and the client should have access to the MP for the Advanced client. On the Advanced client the Inventory agent’s functionality is dependent on the running of the SMS Agent Host service (ccmexec).

The entire hardware inventory feature is dependent on the sms_def.mof file present in the clifiles.src\hinv folder on the SiteServer. If that file is deleted or made corrupt, hardware inventory feature on the clients would not report any valid hardware inventory data.

Client Side

For any inventory to start it has to be scheduled. This is downloaded during the initial policy download.

è InventoryAgent.Log

Inventory: Message type is InventoryAction

Inventory: Temp directory = C:\SMS_CCM\Inventory\Temp\

Inventory: Clearing old collected files.

Inventory: Opening store for action {00000000-0000-0000-0000-000000000001}

We can also manually trigger via the Configuration Manger Control Panel Applet or can be triggered using sendsched.vbs.

The Client then checks the policy and determines if it needs to initiate a Full, Delta or Re-Sync. First scan will always be a Full Scan all subsequent scans are Deltas. Re-Sync request is sent by the server if no existing client record exists for the delta sent by a client.

If there is issue in receiving the policy you can check the communication between the client and the MP. Use the steps mentioned in the client reporting troubleshooting.

èInventoryagent.log

Inventory: Delta report without a previous Full report; will do a Full report.

Inventory: Action=Hardware ReportType=Full

Once the scan type (Full, Re-Sync, or Delta) has been determined, the Hardware Inventory Client Agent must now determine precisely what to inventory:

Based on the rules and scan type, configuration manager scans WMI and the registry. Results of scan are stored in WMI. Once compiled into WMI, the client generates an XML file. Advanced Client converts XML file to message file and are send to MP. These are as shown in the verbose Inventoryagent.log

Invetoryagent.log

Inventory: Message type is InventoryAction InventoryAgent 1/31/2010 9:39:10 AM 384 (0x0180)

Inventory: Temp directory = C:\WINDOWS\system32\CCM\Inventory\Temp\ InventoryAgent 1/31/2010 9:39:10 AM 384 (0x0180)

Inventory: Clearing old collected files. InventoryAgent 1/31/2010 9:39:10 AM 384 (0x0180)

Inventory: Opening store for action {00000000-0000-0000-0000-000000000001} ... InventoryAgent 1/31/2010 9:39:10 AM 384 (0x0180)

Inventory: Delta report without a previous Full report; will do a Full report. InventoryAgent 1/31/2010 9:39:10 AM 384 (0x0180)

Inventory: Action=Hardware ReportType=Full InventoryAgent 1/31/2010 9:39:10 AM 384 (0x0180)

Inventory: Initialization completed in 0.020 seconds InventoryAgent 1/31/2010 9:39:10 AM 384 (0x0180)

Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT __CLASS, __PATH, __RELPATH, Name, SMSID, Domain, SystemRole, SystemType, LocalDateTime FROM CCM_System; Timeout = 600 secs. InventoryAgent 1/31/2010 9:39:10 AM 384 (0x0180)

Inventory: Message [Type=InventoryAction, ActionID={00000000-0000-0000-0000-000000000003}, Report=Full] already in queue. Message ignored. InventoryAgent 1/31/2010 9:39:10 AM 2452 (0x0994)

…………….

………………

…………………

Collection: Class "Win32_TSLicenseKeyPack" does not exist out. InventoryAgent 1/31/2010 9:40:08 AM 384 (0x0180)

Collection: Namespace = \\.\root\cimv2; Query = SELECT __CLASS, __PATH, __RELPATH, Availability, Description, DeviceID, Manufacturer, Name, Status FROM Win32_IDEController; Timeout = 600 secs. InventoryAgent 1/31/2010 9:40:08 AM 384 (0x0180)

Collection: 34/51 inventory data items successfully inventoried. InventoryAgent 1/31/2010 9:40:08 AM 384 (0x0180)

Inventory: Collection Task completed in 57.953 seconds InventoryAgent 1/31/2010 9:40:08 AM 384 (0x0180)

Inventory: 17 Collection Task(s) failed. InventoryAgent 1/31/2010 9:40:08 AM 384 (0x0180)

Inventory: Temp report = C:\WINDOWS\system32\CCM\Inventory\Temp\96dbb66b-b57d-4812-95a6-cf21d7c7c44b.xml InventoryAgent 1/31/2010 9:40:08 AM 384 (0x0180)

Inventory: Starting reporting task. InventoryAgent 1/31/2010 9:40:08 AM 384 (0x0180)

Reporting: 330 report entries created. InventoryAgent 1/31/2010 9:40:08 AM 384 (0x0180)

Inventory: Reporting Task completed in 0.411 seconds InventoryAgent 1/31/2010 9:40:08 AM 384 (0x0180)

Inventory: Successfully sent report. Destination:mp:MP_HinvEndpoint, ID: {9DAA9999-4535-4E5C-A6CB-CAD2D11BA960}, Timeout: 80640 minutes MsgMode: Signed, Not Encrypted InventoryAgent 1/31/2010 9:40:09 AM 384 (0x0180)

Inventory: Cycle completed in 62.961 seconds InventoryAgent 1/31/2010 9:40:13 AM 384 (0x0180)

Inventory: Action completed. InventoryAgent 1/31/2010 9:40:13 AM 384 (0x0180)

If inventory fails, to correct it you can check reinstalling the client and also check for any WMI issues. Follow the steps in WMI troubleshooting in the client reporting part for any WMI issues

This is the end of client side troubleshooting. Now once this is over you need to check the rest of the process in the server side.

Server Side

In the server the CCMExec on the MP processes the message and generates the XML file. File is stored in <ServerDir>[1] \MP\Outboxes\Hinv.box

You can view this information from

MP_Hinv.Log

Hinv Retry: ******************* Start of Task ********************* MP_HinvEndpoint 4/21/2010 10:39:15 AM 4360 (0x1108)

Hinv Sax: loading C:\Program Files\Microsoft Configuration Manager\inboxes\auth\dataldr.box\HinvAttachmentY3ZGIYW8.xml MP_HinvEndpoint 4/21/2010 10:39:15 AM 4360 (0x1108)

Delta report from client SQL, action description = Hardware MP_HinvEndpoint 4/21/2010 10:39:15 AM 4360 (0x1108)

Hinv Task: Translate report attachment to file "C:\Program Files\Microsoft Configuration Manager\inboxes\auth\dataldr.box\HQG4Q6EI.MIF" returned 0 MP_HinvEndpoint 4/21/2010 10:39:15 AM 4360 (0x1108)

Hinv Retry: ******************* End of Task ********************* MP_HinvEndpoint 4/21/2010 10:39:15 AM 4360 (0x1108)

XML file is then parsed and used to create a .MIF file. This process can be monitored in the MP_Hinv.log

.MIF file is stored in the <ServerDIR>[2]\MP\Outboxes\Hinv.box

MP_Hinv.log

Hinv Retry: ******************* Start of Task ********************* MP_HinvEndpoint 1/31/2010 9:32:23 AM 2580 (0x0A14)

Hinv Sax: loading C:\Program Files\Microsoft Configuration Manager\inboxes\auth\dataldr.box\HinvAttachmentXM1YR1Q7.xml MP_HinvEndpoint 1/31/2010 9:32:23 AM 2580 (0x0A14)

Full report from client DC, action description = Hardware MP_HinvEndpoint 1/31/2010 9:32:23 AM 2580 (0x0A14)

Hinv Task: Translate report attachment to file "C:\Program Files\Microsoft Configuration Manager\inboxes\auth\dataldr.box\H8TADQ8W.MIF" returned 0 MP_HinvEndpoint 1/31/2010 9:32:23 AM 2580 (0x0A14)

Hinv Retry: ******************* End of Task ********************* MP_HinvEndpoint 1/31/2010 9:32:23 AM 2580 (0x0A14)

Management Point File Dispatch Manager copies the file from SMS\MP\Outboxes\Hinv.box to SMS\Inboxes\Dataldr.box . This process can be monitored in the MPFDM.log

MIF file is parsed and determines type of data to be inserted into the database. View dataldr.log to monitor progress, sql tracing can be enabled for detailed output and to further troubleshoot if MIF data is not processed and inserted to the database properly.

If the file is not received at this point need to check the communication between the server and the agent.

Dataldr.log

>> Add 1 files to process directory ... SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:25 PM 804 (0x0324)

Moving MIF file C:\Program Files\Microsoft Configuration Manager\inboxes\auth\dataldr.box\HIZAHGPO.MIF to C:\Program Files\Microsoft Configuration Manager\inboxes\auth\dataldr.box\process\HIZAHGPO.MIF SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:25 PM 804 (0x0324)

Started the machine MIF processing thread, thread ID = AF4 SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:25 PM 804 (0x0324)

Worker thread 2612 starting execution. SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:25 PM 2612 (0x0A34)

Done with job queueing. SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:26 PM 2804 (0x0AF4)

Blocking until completion. SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:26 PM 2804 (0x0AF4)

Thread: 0 is using GUID SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:27 PM 2612 (0x0A34)

Thread: 2612 will use GUID GUID:76B6D180-F0B6-4689-B294-6CCE9033D7EB SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:27 PM 2612 (0x0A34)

Processing Inventory for Machine: SQL Version 1.5 Generated: 04/21/2010 14:44:19 SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:27 PM 2612 (0x0A34)

Begin transaction: Machine=SQL(GUID:76B6D180-F0B6-4689-B294-6CCE9033D7EB) SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:28 PM 2612 (0x0A34)

Commit transaction: Machine=SQL(GUID:76B6D180-F0B6-4689-B294-6CCE9033D7EB) SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:30 PM 2612 (0x0A34)

Done: Machine=SQL(GUID:76B6D180-F0B6-4689-B294-6CCE9033D7EB) code=0 (16 stored procs in XHIZAHGPO.MIF) SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:30 PM 2612 (0x0A34)

Done blocking until completion. SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:30 PM 2804 (0x0AF4)

No more machine MIFs to be processed, terminating thread SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:30 PM 2804 (0x0AF4)

Shutting down Machine Writer. SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:30 PM 2804 (0x0AF4)

Worker thread 2612 halting execution. SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:31 PM 2612 (0x0A34)

Finished processing 1 MIFs                  SMS_INVENTORY_DATA_LOADER 4/21/2010 2:44:35 PM 2804 (0x0AF4)

Once this is completed we should be able to see the data in the resource explorer. If there is some failure at this point we can enable SQL logging and check the insertion of data. Also if you have issue with the component SMS_INVENTORY_DATA_LOADER then a site reset can also help.


[1]  SERVERDIR :\Program Files\Microsoft Configuration Manager\ or <Drive>\SMS\

[2]   SERVERDIR :\Program Files\Microsoft Configuration Manager\ or <Drive>\SMS\

Comments

  • Anonymous
    January 01, 2003
    I am missing the sms_def.mof file, is there anyway to get it back?

    Thanks,
    Mike

  • Anonymous
    January 01, 2003
    plz tell how to fix hardware inventory issue in SCCM

  • Anonymous
    August 24, 2010
    Still can you provide for information on this link..... Thanks,

  • Anonymous
    October 05, 2010
    The blog is very usefull..Thank you so much.. :)

  • Anonymous
    October 05, 2010
    I would request you to please post an article like this on software updates...It will be more usefull...

  • Anonymous
    January 06, 2011
    I did a WMI repair, a Client repair after that see the inventoryagent.log Collection: 53/68 inventory data items successfully inventoried. InventoryAgent 1/5/2011 11:13:54 AM 2836 (0x0B14) Inventory: Collection Task completed in 26.691 seconds InventoryAgent 1/5/2011 11:13:54 AM 2836 (0x0B14) Inventory: 15 Collection Task(s) failed. InventoryAgent 1/5/2011 11:13:54 AM 2836 (0x0B14) Inventory: Temp report = C:Windowssystem32CCMInventoryTempb933f6ef-2a46-41c3-9e13-ed5b563d00cd.xml InventoryAgent 1/5/2011 11:13:54 AM 2836 (0x0B14) Inventory: Starting reporting task. InventoryAgent 1/5/2011 11:13:54 AM 5840 (0x16D0) Reporting: 1261 report entries created. InventoryAgent 1/5/2011 11:13:55 AM 5840 (0x16D0) Inventory: Reporting Task completed in 0.422 seconds InventoryAgent 1/5/2011 11:13:55 AM 5840 (0x16D0) CInvState::SendReport: Unable to send the message to mp:MP_HinvEndpoint: 80040215 InventoryAgent 1/5/2011 11:13:55 AM 5840 (0x16D0) Error - Failed to send Report: 80040215 InventoryAgent 1/5/2011 11:13:55 AM 5840 (0x16D0) Inventory: Cycle completed in 42.994 seconds InventoryAgent 1/5/2011 11:13:55 AM 5840 (0x16D0) Inventory: Action completed. InventoryAgent 1/5/2011 11:13:55 AM 5840 (0x16D0) Inventory: ************************ End of message processing. ************************ InventoryAgent 1/5/2011 11:13:55 AM 5840 (0x16D0)

  • Anonymous
    August 03, 2011
    I want to know about HINV schedule, in Site Management, Primary Site, Client Agents, Hardware Inventory Client Agent, Properties i put the inventory schedule in 1 DAY, how the client knows that each day he must send the HINV???

  • Anonymous
    September 21, 2011
    Thanks for posting, I'd like to know more of HINV schedule too! Are there some video tutorials I could download with the program designed to download YouTube video downloadyoutubevideo.net ?

  • Anonymous
    December 11, 2012
    Very useful!! Thanks

  • Anonymous
    April 24, 2013
    this is a joke, it looks like something someone cut and pasted together - Microsoft is failing I wonder if Balmer is paying attention or he is to busy trying to sell Windows Phones.  there is zero guidance in this mess.

  • Anonymous
    May 14, 2013
    JSB_MCSE - you are a joke.  Plenty of people get good guidance from articles like these; if you don't like it, write your own, you arrogant git

  • Anonymous
    November 19, 2013
    Agree with JSB_MCSE. 0 Guaidance

  • Anonymous
    November 19, 2013
    The comment has been removed

  • Anonymous
    February 25, 2014
    I went on vacation and someone who left corrupted the configuration.mof in Program FilesMicrosoft Configuration Managerinboxesclifiles.srchinv no client are able to do a hardware inventory. I just a application packager but I know how to administer sccm. can you help out.

  • Anonymous
    April 01, 2014
    Hi

    The client InventoryAgent.Log says it has successfully sent the log file, but on the MP the MP_Hinv.log hasn't had any entries for several weeks, any ideas?

    Thanks

  • Anonymous
    May 09, 2014
    Chris, reinstall your management point, should be done in a minute or two!

  • Anonymous
    May 13, 2014
    The comment has been removed

  • Anonymous
    May 27, 2014
    Thats helpful......Keep sharing ....
    Please share some more TS on software updates

  • Anonymous
    October 30, 2014
    Sudheesh Sir, you rock. We learnt a lot with these blogs and you.

  • Anonymous
    October 31, 2014
    Good One.... I now know the process flow

  • Anonymous
    January 07, 2015
    Your article is very informative. It's a welcome change from other supposed informational content. Your points are unique and original in my opinion. I agree with many of your points.

  • Anonymous
    January 28, 2015
    Does the initital inventory for software and hardware trigger immediately after agent install?

  • Anonymous
    October 05, 2015
    Mike ,

    are you using sccm 2007 still ?..if it is 2012 there is no sms_def.mof file.