HayesJupe's Blog

SCCM inventory troubleshooting


Recently I ran into a few issues at a client around SCCM hardware inventory… this made me understand the process a lot better – but I also found that there were many articles around the web – but none of them really offered a complete start to finish guide on how to troubleshoot these issues – so here is my attempt – and I hope it helps someone.

This article does assumes that the SCCM client is installed on the clients PC (I think that’s fair!)

Log directories we will be using:

Client logs x86: C:\Windows\System32\ccm\logs

Client logs x64: C:\Windows\SysWow64\ccm\logs

Server Logs: X:\Program files\Microsoft Configuration manager\Logs

Server MP Logs: X:\Program files\SMS_CCM\logs

When I refer to logs in this document, I have truncated some of the information for readability. Additionally, important parts of the logs will be highlighted in red.

Step 1 – Check basic client connectivity

  • Can the client ping the SCCM Management Point?
  • Is the FQDN returned when pinging the MP correct?
    • If either of the above come back no – you have a basic networking issue, and that’s a bit beyond the scope of this article. Check your firewalls, DNS scavenging etc

 

Step 2 – Check to see if the client is registered with SCCM and getting policy

  • We can use a tool from the SMS 2003 Toolkit 2, called MPGetPolicy.exe
    • Used client side, it will retrieve all the policies available from the MP
      • If this works, it’s a very good indication that most things are fine with communication to the MP, and you can skip this section
      • If this doesn’t work, it’s a very good indications that either the MP, or communications to the MP are busted
  • Go to the clients logs directory
  • There are 3 log files we are interested in
    • LocationServices.log, which logs information as the SCCM client tries to locate services –  you should see something similar to:

 

<![LOG[Current AD site of machine is AdelaideHO]LOG!>

<![LOG[LSGetAssignedSiteFromAD : Trying to Assign to the Site <C99>]LOG!>

<![LOG[LSVerifySiteVersion : Verifying Site Version for <C99>]LOG]!>

<![LOG[LSGetSiteVersionFromAD : Successfully retrieved version ‘4.00.6487.0000’ for site ‘C99’]LOG]!>

<![LOG[LSVerifySiteVersion : Verified Client Version ‘4.00.6487.2000’ is not greater than Site Version ‘4.00.6487.0000’. Client can be assigned to site <C99>.]LOG]!>

 <![LOG[Site and assignment sitecode match. Verifying site version]LOG]!>

<![LOG[LSVerifySiteVersion : Verifying Site Version for <C99>]LOG]!>

<![LOG[LSGetSiteVersionFromAD : Successfully retrieved version ‘4.00.6487.0000’ for site ‘C99’]LOG]!>

<![LOG[LSVerifySiteVersion : Verified Client Version ‘4.00.6487.2000’ is not greater than Site Version ‘4.00.6487.0000’. Client can be assigned to site <C99>.]LOG]!>

<![LOG[Attempting to retrieve default management point from AD]LOG]!>

<![LOG[Retrieved Default Management Point from AD: MT03.ADEXIS.COM.AU]LOG]!>

 

  • ClientIDManagerStartup.log, in which you should see something similar to:

 

<![LOG[RegTask – Executing registration task synchronously.]LOG]!>

<![LOG[Evaluated SMBIOS (encoded): 5300470048003800330035003000430058005600]LOG]!>

<![LOG[SMBIOS unchanged]LOG]!>

<![LOG[SID unchanged]LOG]!>

<![LOG[HWID unchanged]LOG]!>

<![LOG[RegTask: Initial backoff interval: 1 minutes]LOG]!>

<![LOG[RegTask: Reset backoff interval: 257 minutes]LOG]!>

<![LOG[GetSystemEnclosureChassisInfo: IsFixed=TRUE, IsLaptop=TRUE]LOG]!>

<![LOG[Computed HardwareID=2:63AC0E1538490FD4382CFC41EBCD876429E2AACC

                    Win32_SystemEnclosure.SerialNumber=xxxxxx

                    Win32_NetworkAdapterConfiguration.MACAddress=<Not used on laptop>]LOG]!>

 <![LOG[RegTask: Client is not registered. Sending registration request…]LOG]!>

 <![LOG[RegTask: Client registration is pending.]LOG]!>

<![LOG[RegTask: Client is pending registration. Sending confirmation request…]LOG]!>

 <![LOG[RegTask: Client is pending registration. Sending confirmation request…]LOG]!>

 <![LOG[RegTask: Client is registered.]LOG!>

  • ClienLocation.log

 

<![LOG[Getting Assigned Site]LOG]!>

<![LOG[Autodiscover Site]LOG]!>

 <![LOG[Got new site C99]LOG]!>

<![LOG[Setting Assigned Site]LOG]!>

<![LOG[Assigning client to site ‘C99’]LOG]!>

 <![LOG[Discover Default MP]LOG]!>

<![LOG[Site Code is C99; Management Point is MT03.ADEXIS.COM.AU]LOG]!>

<![LOG[Getting Assigned Site]LOG]!>

<![LOG[Client is currently not assigned to any site]LOG]!>

<![LOG[Removing client site assignments]LOG]!><

 <![LOG[Raising event: instance of CCM_RemoteClient_Reassigned

{                   DateTime = “20100223044347.379000+000”;

                    LastAssignedSite = “”;

                    NewAssignedSite = “C99”;

                    ProcessID = 5012;

                    ThreadID = 4100;};]LOG]!>

<![LOG[Client assigned to site ‘C99’]LOG]!>

<![LOG[Discover Default MP]LOG]!>

 <![LOG[Site Code is C99; Management Point is MT03.ADEXIS.COM.AU]LOG]!>

 <![LOG[Setting Current Management Point]LOG]!>

<![LOG[Management Point is MT03.ADEXIS.COM.AU]LOG]!>

 <![LOG[Setting Assigned Site]LOG]!>

……

<![LOG[GetCurrentManagementPointEx]LOG]!>

<![LOG[Current Management Point is MT03.ADEXIS.COM.AU with version 6487 and capabilities: <Capabilities SchemaVersion=”1.0″>

</Capabilities>.]LOG]!>

If there is an issue with any one of these logs – you’re not going to have much luck with anything. There are a couple of things you can do to troubleshoot what could be happening here:

  • SCCM information has not been published to Active Directory (in which case the clients will not be able to find your SCCM hierarchy) – http://technet.microsoft.com/en-us/library/bb633121.aspx
  • The default management point in your hierarchy is not functioning. In the ConfigMgr console, check System Status | Site Status | <Site>  and the appropriate status’ for the management point object
    • You can also check MPControl.log from the server log directory
    • You can use tools from the SMS 2003 Toolkit 2
      • MPTroubleShooter.exe
  • In the ConfigMgr console, check there is not a conflicting record

 

Step 3: Troubleshoot the inventory process

The inventory process is logged in a number of different locations on both the client and the server – so we’ll go through in the order that they happen in.

First, let’s get ourselves a set of fresh logs on the client, so we can make sure we’re looking at current information:

  • Stop the SMS Agent host service (From the services gui, or run “net stop ccmexec”)
  • Delete all the client log files (The smsprovider.log commonly is in use, ignore it if you can’t delete this)
  • Start the SMS Agent host service

 

  • From the client GUI, actions area, initiate a hardware inventory
  • Have a look at the InventoryAction.log

 

<![LOG[Inventory: *********************** Start of message processing. ***********************]LOG]!>

 <![LOG[Inventory: Message type is InventoryAction]LOG]!>

 <![LOG[Inventory: Temp directory = C:\Windows\SysWOW64\CCM\Inventory\Temp\]LOG]!>

 <![LOG[Inventory: Clearing old collected files.]LOG]!>

<![LOG[Inventory: Opening store for action {00000000-0000-0000-0000-000000000003} …]LOG]!>

 <![LOG[Inventory: Action=Discovery ReportType=Full]LOG]!>

 <![LOG[Inventory: Initialization completed in 0.016 seconds]LOG]!>

<![LOG[Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT __CLASS, __PATH, __RELPATH, PlatformID FROM CCM_DiscoveryData; Timeout = 600 secs.]LOG]!>

<![LOG[Collection: Signing turned off. Skipping query SELECT __CLASS, __PATH, __RELPATH, EncodedSigningPublicKey FROM CCM_ClientSecurityInformation; ]LOG]!>

<![LOG[Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT __CLASS, __PATH, __RELPATH, FQDN FROM CCM_ExtNetworkAdapterConfiguration; Timeout = 600 secs.]LOG]!>

<![LOG[Collection: Namespace = \\.\root\ccm; Query = SELECT __CLASS, __PATH, __RELPATH, ClientIdChangeDate, PreviousClientId FROM CCM_Client; Timeout = 600 secs.]LOG]!>

 <![LOG[Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT __CLASS, __PATH, __RELPATH, ADSiteName FROM CCM_ADSiteInfo; Timeout = 600 secs.]LOG]!>

 <![LOG[Collection: Namespace = \\.\root\cimv2; Query = SELECT __CLASS, __PATH, __RELPATH, IPAddress, MACAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE; Timeout = 600 secs.]LOG]!>

<![LOG[Collection: Namespace = \\.\root\cimv2; Query = SELECT __CLASS, __PATH, __RELPATH, UserName FROM Win32_ComputerSystem; Timeout = 600 secs.]LOG]!>

<![LOG[Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT __CLASS, __PATH, __RELPATH, IPv6Address FROM CCM_IPv6NetworkAdapterConfiguration; Timeout = 600 secs.]LOG]!>

<![LOG[Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT __CLASS, __PATH, __RELPATH, IPSubnet FROM CCM_NetworkAdapterConfiguration; Timeout = 600 secs.]LOG]!>

<![LOG[Collection: Namespace = \\.\root\ccm; Query = SELECT __CLASS, __PATH, __RELPATH, Name FROM SMS_Authority; Timeout = 600 secs.]LOG]!>

<![LOG[Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT __CLASS, __PATH, __RELPATH, IPv6Prefix FROM CCM_IPv6PrefixNetworkAdapterConfiguration; Timeout = 600 secs.]LOG]!>

 <![LOG[Collection: Namespace = \\.\root\cimv2; Query = SELECT __CLASS, __PATH, __RELPATH, UUID FROM Win32_ComputerSystemProduct; Timeout = 600 secs.]LOG]!>

<![LOG[Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT __CLASS, __PATH, __RELPATH, Domain FROM CCM_ComputerSystem; Timeout = 600 secs.]LOG]!>

 <![LOG[Collection: Namespace = \\.\root\ccm; Query = SELECT __CLASS, __PATH, __RELPATH, HardwareID1 FROM CCM_ClientIdentificationInformation; Timeout = 600 secs.]LOG]!>

<![LOG[Collection: 13/14 inventory data items successfully inventoried.]LOG]!>

<![LOG[Inventory: Collection Task completed in 0.249 seconds]LOG]!>

<![LOG[Inventory: 1 Collection Task(s) failed.]LOG]!>

 <![LOG[Inventory: Temp report = C:\Windows\SysWOW64\CCM\Inventory\Temp\c1816691-dafa-4385-9c54-d1d85ec32a4a.xml]LOG]!>

<![LOG[Inventory: Starting reporting task.]LOG]!>

 <![LOG[Reporting: 11 report entries created.]LOG]!>

<![LOG[Inventory: Reporting Task completed in 0.016 seconds]LOG]!>

<![LOG[Inventory: Successfully sent report. Destination:mp:MP_DdrEndpoint, ID: {06B4DD42-7698-4CB4-881E-B6D06DFF6DB7}, Timeout: 80640 minutes MsgMode: Signed, Not Encrypted]LOG]!>

<![LOG[Inventory: Cycle completed in 0.577 seconds]LOG]!>

<![LOG[Inventory: Action completed.]LOG]!>

<![LOG[Inventory: ************************ End of message processing. ************************]LOG]!>

  • If you have some failed collection tasks, that’s fine, as not every PC will have every type of information to be inventoried
  • The line Successfully sent report. Destination:mp:MP_DdrEndpoint means that inventory has been completed and the client is attempting to pass that information to the management point (which is handed off to the ccm executive)
  • If all of your inventory tasks are failing – the likely cause is because WMI is busted, in order fix WMI you can

 

Next, we need to confirm that the inventory has successfully been transferred to the MP, we do this by having a look at ccmexec.log on the client

<![LOG[Notifying endpoint ‘InventoryAgent’ of __InstanceCreationEvent settings change on object InventoryClientAuthenticationConfig.InventoryActionID=”{00000000-0000-0000-0000-000000000012}” for user ‘S-1-5-18’.]LOG]!>

<![LOG[Inventory:  Event notification:  InventoryClientAuthenticationConfig]LOG]!>

 <![LOG[Raising event: instance of CCM_CcmHttp_Status

{                   ClientID = “GUID:8D74D5CD-E37F-4833-A8E3-A2743D5C64AB”;

                    DateTime = “20100223044618.747000+000”;

                    HostName = “MT03.ADEXIS.COM.AU”;

                    HRESULT = “0x00000000”;

                    ProcessID = 3268;

                    StatusCode = 0;

                    ThreadID = 1932;};]LOG]!>

<![LOG[Initializing queue ‘amp_[http]mp_locationmanager’…]LOG]!>

<![LOG[Queue ‘amp_[http]mp_locationmanager’ initialized with 0 messages.]LOG]!>

<![LOG[Initialized queue processor ‘amp_[http]mp_locationmanager’ Enabled=true Concurrency=1]LOG]!><time=”15:16:20.089+-630″ date=”02-23-2010″ component=”CCMEXEC” context=”” thread=”5436″ file=”messagequeueproc_base.cpp:258″>

<![LOG[Raising event: instance of CCM_CcmHttp_Status

{                   ClientID = “GUID:8D74D5CD-E37F-4833-A8E3-A2743D5C64AB”;

                    DateTime = “20100223044623.209000+000”;

                    HostName = “MT03.ADEXIS.COM.AU”;

                    HRESULT = “0x00000000”;

                    ProcessID = 3268;

                    StatusCode = 0;

                    ThreadID = 1932;}; ]LOG]!>

instance of CCM_CcmHttp_Status { ClientID = “GUID:8D74D5CD-E37F-4833-A8E3-A2743D5C64AB”;

                    DateTime = “20100223044625.127000+000”;

                    HostName = “MT03.ADEXIS.COM.AU”;

                    HRESULT = “0x00000000”;

                    ProcessID = 3268;

                    StatusCode = 0;

                    ThreadID = 5436; };]LOG]!>

<![LOG[Raising event:

instance of CCM_CcmHttp_Status

{                   ClientID = “GUID:8D74D5CD-E37F-4833-A8E3-A2743D5C64AB”;

                    DateTime = “20100223044625.283000+000”;

                    HostName = “MT03.ADEXIS.COM.AU”;

                    HRESULT = “0x00000000”;

                    ProcessID = 3268;

                    StatusCode = 0;

                    ThreadID = 3536;}; ]LOG]!>

 <![LOG[Initializing queue ‘mp_mp_hinvendpoint’…]LOG]!><time=”15:18:04.577+-630″ date=”02-23-2010″ component=”CCMEXEC” context=”” thread=”3536″ file=”messagequeue_base.cpp:188″>

<![LOG[Queue ‘mp_mp_hinvendpoint’ initialized with 0 messages.]LOG]!><time=”15:18:04.609+-630″ date=”02-23-2010″ component=”CCMEXEC” context=”” thread=”3536″ file=”messagequeue_base.cpp:205″>

<![LOG[Initialized queue processor ‘mp_mp_hinvendpoint’                                     Enabled=true                    Concurrency=1]LOG]!><time=”15:18:04.609+-630″ date=”02-23-2010″ component=”CCMEXEC” context=”” thread=”3536″ file=”messagequeueproc_base.cpp:258″>

<![LOG[Raising event:instance of CCM_CcmHttp_Status

{                   ClientID = “GUID:8D74D5CD-E37F-4833-A8E3-A2743D5C64AB”;

                    DateTime = “20100223044804.640000+000”;

                    HostName = “MT03.ADEXIS.COM.AU”;

                    HRESULT = “0x00000000”;

                    ProcessID = 3268;

                    StatusCode = 0;

                    ThreadID = 796;};

]LOG]!><time=”15:18:04.640+-630″ date=”02-23-2010″ component=”CcmExec” context=”” thread=”796″ file=”event.cpp:525″>

<![LOG[UpdateURLWithTransportSettings(): OLD URL – http://MT03.ADEXIS.COM.AU/CCM_Incoming/{45B8FC7C-9470-442B-A44C-57A0969D073F}]LOG]!><time=”15:18:04.718+-630″ date=”02-23-2010″ component=”CcmExec” context=”” thread=”796″ file=”ccmutillib.cpp:1732″>

<![LOG[UpdateURLWithTransportSettings(): NEW URL – http://MT03.ADEXIS.COM.AU:80/CCM_Incoming/{45B8FC7C-9470-442B-A44C-57A0969D073F}]LOG]!><time=”15:18:04.718+-630″ date=”02-23-2010″ component=”CcmExec” context=”” thread=”796″ file=”ccmutillib.cpp:1744″>

<![LOG[      MESSAGE PAYLOAD TRANSFER COMPLETE:

                    Status : SUCCESS

                    Direction: Upload

                    Msg ID: {45B8FC7C-9470-442B-A44C-57A0969D073F}

                    BITS Job ID: {B4781ED1-B80B-48D9-95B2-59892987CF20}

                    Start time : 02/23/2010 04:48 (GMT)

                    Completion time : 02/23/2010 04:48 (GMT)

                    Elapsed time : 5 seconds]LOG]!><time=”15:18:09.850+-630″ date=”02-23-2010″ component=”CcmExec” context=”” thread=”5436″ file=”messagestate.cpp:105″>

  • Unfortunately, the GUID’s from the inventory agent don’t match up with the GUID’s in the ccmexec – as it’s a different request. So the best you can do to line these requests up is by time
  • If errors have occurred, the client was unable to transfer the inventory information to the management point

 

  • Next, assuming the transfer to the MP was successful, we start having a look at the server side
  • On the MP, open MP_hinv.log
    • In the log you will (hopefully) see the computer name which is reporting the inventory, and the log should be similar to:

 

Hinv Retry: ******************* Start of Task *********************  MP_HinvEndpoint       

Hinv: Loaded class definition map; DB policy timestamp = 2010-02-15 19:57:00.340          MP_HinvEndpoint

Hinv: Normalized DB policy timestamp: 20100215195700.000000+000.            MP_HinvEndpoint       

Hinv Sax: loading C:\Program Files (x86)\Microsoft Configuration Manager\inboxes\auth\dataldr.box\HinvAttachmentWKM3369L.xml

Full report from client ADEXISLAPTOP4, action description = Hardware                 MP_HinvEndpointHinv: warning skipping instance of array property as exceeds max length. Class: “CCM_SystemDevices” Property: “CompatibleIDs”    MP_HinvEndpoint

Hinv Task: Translate report attachment to file “C:\Program Files (x86)\Microsoft Configuration Manager\inboxes\auth\dataldr.box\H9YOHPY8.MIF” returned 0      MP_HinvEndpoint

Hinv Retry: ******************* End of Task *********************    MP_HinvEndpoint

 

  • We can see that the processed file is transferred to the dataldr.box
  • Next up, we go to the server logs and have a look at dataldr.log, where we can see the inventory data being processed into the database

 

Checking inbox for any MIFs to process…        SMS_INVENTORY_DATA_LOADER

>> Add 1 files to process directory …                 SMS_INVENTORY_DATA_LOADER

Moving MIF file C:\Program Files (x86)\Microsoft Configuration Manager\inboxes\auth\dataldr.box\H9YOHPY8.MIF to C:\Program Files (x86)\Microsoft Configuration Manager\inboxes\auth\dataldr.box\process\H9YOHPY8.MIF

Started the machine MIF processing thread, thread ID = 10F0            

Worker thread 4176 starting execution.          SMS_INVENTORY_DATA_LOADER

Done with job queueing.                 SMS_INVENTORY_DATA_LOADER

Blocking until completion.              SMS_INVENTORY_DATA_LOADER

Thread: 0 is using GUID                   SMS_INVENTORY_DATA_LOADER

Thread: 4176 will use GUID GUID:8D74D5CD-E37F-4833-A8E3-A2743D5C64AB                   SMS_INVENTORY_DATA_LOADER

Processing Inventory for Machine: ADEXISLAPTOP4   Version 1.0  Generated: 02/23/2010 15:18:04     SMS_INVENTORY_DATA_LOADER

CGroup::DefineAttributes – Detected schema change. Waiting for the threads to finish the queue.          SMS_INVENTORY_DATA_LOADER

Thread 4176 has been granted exclusive access.                SMS_INVENTORY_DATA_LOADER

CGroup::DefineAttributes – Proceeding with schema change.              SMS_INVENTORY_DATA_LOADER

CGroup::DefineAttributes – preparing to create insert procedure for MICROSOFT|WORKSTATION_STATUS|1.0       

CSqlSchema::CreateProcedure pWorkstationStatus_DATA at 02/23/10 15:18:17                 

CSqlSchema::CreateProcedure dWorkstationStatus_DATA at 02/23/10 15:18:17                 

CGroup::DefineAttributes – Detected schema change. Waiting for the threads to finish the queue.         

CGroup::DefineAttributes – Proceeding with schema change.              SMS_INVENTORY_DATA_LOADER

CGroup::DefineAttributes – preparing to create insert procedure for MICROSOFT|PNP_DEVICE_DRIVER|1.0

CSqlSchema::CreateProcedure pPNP_DEVICE_DRIVER_DATA at 02/23/10 15:18:17             

CSqlSchema::CreateProcedure dPNP_DEVICE_DRIVER_DATA at 02/23/10 15:18:17             

CGroup::DefineAttributes – Detected schema change. Waiting for the threads to finish the queue.         

CGroup::DefineAttributes – Proceeding with schema change.             

CGroup::DefineAttributes – preparing to create insert procedure for MICROSOFT|INSTALLED_EXECUTABLE|1.0      

CSqlSchema::CreateProcedure pINSTALLED_EXECUTABLE_DATA at 02/23/10 15:18:17      

CSqlSchema::CreateProcedure dINSTALLED_EXECUTABLE_DATA at 02/23/10 15:18:18      

CGroup::DefineAttributes – will widen MICROSOFT|INSTALLED_EXECUTABLE|1.0 column FileVersion from 32 to 48                  

STATMSG: SEV=I LEV=M SOURCE=”SMS Server” COMP=”SMS_INVENTORY_DATA_LOADER” SYS=MT03 SITE=C99 PID=2108 TID=4176 GMTDATE=Tue Feb 23 04:48:18.018 2010 ISTR0=”MICROSOFT|INSTALLED_EXECUTABLE|1.0″ ISTR1=”FileVersion” ISTR2=”32″ ISTR3=”48″ ISTR4=”” ISTR5=”” ISTR6=”” ISTR7=”” ISTR8=”” ISTR9=”” NUMATTRS=0               

CGroup::DefineAttributes – Detected schema change. Waiting for the threads to finish the queue.         

CGroup::DefineAttributes – Proceeding with schema change.             

CGroup::DefineAttributes – Detected schema change. Waiting for the threads to finish the queue.         

CGroup::DefineAttributes – Proceeding with schema change.              SMS_INVENTORY_DATA_LOADER

CGroup::DefineAttributes – preparing to create insert procedure for MICROSOFT|ADD_REMOVE_PROGRAMS|1.0

CSqlSchema::CreateProcedure pAdd_Remove_Programs_DATA at 02/23/10 15:18:19       

CSqlSchema::CreateProcedure dAdd_Remove_Programs_DATA at 02/23/10 15:18:19       

CGroup::DefineAttributes – will widen MICROSOFT|ADD_REMOVE_PROGRAMS|1.0 column ProdID from 88 to 96

… <this goes on for quite a while, so I’ve cut a lot of it out> ….

CMachineSource::InsertMachine – machine info is resynced data (ie: MIF is a full/resync report).             SMS_INVENTORY_DATA_LOADER

STATMSG: SEV=I LEV=M SOURCE=”SMS Server” COMP=”SMS_INVENTORY_DATA_LOADER” SYS=MT03 SITE=C99 PID=2108 TID=4176 GMTDATE=Tue Feb 23 04:48:21.350 2010 ISTR0=”SMS Inventory Agent” ISTR1=”” ISTR2=”” ISTR3=”” ISTR4=”” ISTR5=”” ISTR6=”” ISTR7=”” ISTR8=”” ISTR9=”” NUMATTRS=0      SMS_INVENTORY_DATA_LOADER

Begin transaction: Machine=ADEXISLAPTOP4(GUID:8D74D5CD-E37F-4833-A8E3-A2743D5C64AB)     SMS_INVENTORY_DATA_LOADER

Commit transaction: Machine=ADEXISLAPTOP4(GUID:8D74D5CD-E37F-4833-A8E3-A2743D5C64AB)  SMS_INVENTORY_DATA_LOADER

Thread 4176 releasing exclusive access from SetJobCompleted.          SMS_INVENTORY_DATA_LOADER

Done: Machine=ADEXISLAPTOP4(GUID:8D74D5CD-E37F-4833-A8E3-A2743D5C64AB) code=0 (1407 stored procs in XH9YOHPY8.MIF)  

Done blocking until completion.    SMS_INVENTORY_DATA_LOADER

No more machine MIFs to be processed, terminating thread                SMS_INVENTORY_DATA_LOADER

All in all, I realise this is a long process – and I hope this article helps you determine where exactly your inventory process is busted – as we all know with SCCM, finding the source of the issue is 90% of solving the problem!

I haven’t been able to add in specific fixes for each step – as there are just so many of them! I will update specific issues and fixes as I come across them – and if you guys out in admin-land end up using this article to guide you to the source of your issue, please post the specific errors and fixes, so I can add them to the article (with credit) to help others!

9 Comments »

    • Hi,
      Wonderful work flow and it is nice, it is used for me, request you to please suggest me to resolve my issue in sccm 2012 which was configured hierarchy, I have not find the information in data loader log.how to resolve this, Thanks in advance.

      Comment by Anil Kumar — March 20, 2013 @ 9:58 pm | Reply

      • Sorry mate – I don’t understand what you are asking.

        Comment by hayesjupe — March 21, 2013 @ 8:25 am

      • Hi,
        When I run Hinv & Sinv manually it is running at client machine without any errors, able to find all the logs up to MP_Hinv, But I have not find the status in dataldr.log, I tried to genarate report but it is not updated.

        Comment by Anil Kumar — March 22, 2013 @ 1:49 am

  1. Hey – your link inspired me to write about sCcm 2012 inventory customization for SCCM 2012. Have a look and let me know if you think I can improve on it:

    http://schadda.blogspot.com/2012/02/sccm-2012-customize-extend-hardware.html

    Comment by sandeep — February 21, 2012 @ 8:18 am | Reply

    • Ive had a quick look over, and it all appears sound.

      Work is pretty busy at the mo, but when I get time I’ll tun through the process and see if there is anything to comment on.

      Comment by hayesjupe — February 22, 2012 @ 7:55 am | Reply

  2. Wow, thanks a lot. Great work. Helped me a to understand and find the issue.

    The only think I found is, that with System Center Config Manager 2012 SP1 the delivery massage you will not find in CCMExec.log. Instead you will find that information in CCMMessaging.log.

    But anyway really great work and I appreciating that a lot.

    Comment by nassel07 — January 27, 2014 @ 9:55 pm | Reply

  3. Thank you very much for the detailed description! I followed your steps and was able to verify that hardware inventory reports get written into the database in the dataldr.log on the MP. However, looking at a specific Device in the console gives me no inventory data at all and it shows no date for the last hardware scan.

    Comment by Maximilian Kohmaier — March 27, 2014 @ 8:10 pm | Reply

    • Hey Max,
      if you are seeing dataldr.log write the information to the database – that should be it.

      Could you please verify that the record your viewing is an active record (and not an obsolete record)… outside of that mate – I’m not sure what else it could be.

      Comment by hayesjupe — April 1, 2014 @ 5:09 am | Reply


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: