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,
MikeAnonymous
January 01, 2003
plz tell how to fix hardware inventory issue in SCCMAnonymous
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!! ThanksAnonymous
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 gitAnonymous
November 19, 2013
Agree with JSB_MCSE. 0 GuaidanceAnonymous
November 19, 2013
The comment has been removedAnonymous
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?
ThanksAnonymous
May 09, 2014
Chris, reinstall your management point, should be done in a minute or two!Anonymous
May 13, 2014
The comment has been removedAnonymous
May 27, 2014
Thats helpful......Keep sharing ....
Please share some more TS on software updatesAnonymous
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 flowAnonymous
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.