Troubleshooting SCCM Part IV............ Software Inventory

 

Software inventory

The requirement of the software inventory to function is similar to that of the hardware inventory. The process is also almost similar.

Client Side

The scheduler will send a message to the inventory agent to start the software inventory process.

Scheduler.log:

Sending message for schedule 'Machine/{00000000-0000-0000-0000-000000000002}' (Target: 'direct:InventoryAgent', Name: '')Scheduler4/10/2005 9:39:06 AM3904 (0x0F40)

The agent will determine the type of inventory it has to process (Full, Delta, Resync).The Scan Properties are stored in WMI at the Root\CCM\Policy\Machine namespace.

If you don’t see this, the issue can be the client unable to download the policies or the server has not been configured for Software Inventory.

Once the Software Inventory Client Agent has determined its Scan type, it must now determine precisely what it needs to inventory. This is accomplished by again pulling configuration data from WMI. Software Inventory Rule information (what an administrator has configured SCCM to inventory) is stored within the same namespace of WMI (Root\CCM\Policy\Machine) Each rule is stored in an instance of this class.

The inventory agent will scan the machine according to the software inventory rules and will send an XML file to the software inventory endpoint.

Once the properties of the scan have been determined, and the Advanced Client knows what type of scan (Full, Delta or Resync) to perform, as well as what it is scanning for (as defined in the Software Inventory Rules), it is time for it to perform the actual scan.

Inventoryagent.log

Inventory: *********************** Start of message processing. *********************** InventoryAgent 4/22/2010 12:07:36 AM 2924 (0x0B6C)

Inventory: Message type is InventoryAction InventoryAgent 4/22/2010 12:07:36 AM 2924 (0x0B6C)

Inventory: Temp directory = C:\WINDOWS\system32\CCM\Inventory\Temp\ InventoryAgent 4/22/2010 12:07:36 AM 2924 (0x0B6C)

Inventory: Clearing old collected files. InventoryAgent 4/22/2010 12:07:36 AM 2924 (0x0B6C)

Inventory: Opening store for action {00000000-0000-0000-0000-000000000002} ... InventoryAgent 4/22/2010 12:07:37 AM 2924 (0x0B6C)

Inventory: Action=Software ReportType=Delta InventoryAgent 4/22/2010 12:07:56 AM 2924 (0x0B6C)

Inventory: Initialization completed in 19.849 seconds InventoryAgent 4/22/2010 12:07:56 AM 2924 (0x0B6C)

Collection: Input context, scan rate in milliseconds = 2 InventoryAgent 4/22/2010 12:09:57 AM 3972 (0x0F84)

Collection: Input context, skip file name = skpswi.dat InventoryAgent 4/22/2010 12:09:57 AM 3972 (0x0F84)

Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT Name, Path, LastWriteDate, Size, CompanyName, ProductName, ProductVersion, ProductLanguage, FileVersion, FileDescription FROM FileSystemFile WHERE Name = '*.exe' AND Path = '*\\*' AND IsCompressed = FALSE AND IsEncrypted = FALSE; Timeout = 14400 secs. InventoryAgent 4/22/2010 12:09:57 AM 3972 (0x0F84)

……………………………

……………………………

…………………………..

Inventory: Starting reporting task. InventoryAgent 4/22/2010 12:16:19 AM 2384 (0x0950)

Reporting: 0 report entries created. InventoryAgent 4/22/2010 12:16:20 AM 2384 (0x0950)

Inventory: Reporting Task completed in 0.931 seconds InventoryAgent 4/22/2010 12:16:20 AM 2384 (0x0950)

Inventory: Successfully sent report. Destination:mp:MP_SinvEndpoint, ID: {EBC09961-66DD-4C98-9656-FA370C3259BC}, Timeout: 80640 minutes MsgMode: Signed, Not Encrypted InventoryAgent 4/22/2010 12:16:20 AM 2384 (0x0950)

Inventory: Cycle completed in 541.088 seconds InventoryAgent 4/22/2010 12:16:37 AM 2384 (0x0950)

Inventory: Action completed. InventoryAgent 4/22/2010 12:16:37 AM 2384 (0x0950)

Inventory: ************************ End of message processing. ************************ InventoryAgent 4/22/2010 12:16:37 AM 2384 (0x0950)

If there are some failures there then you can check to make sure that the consistency of the WMI and client of the system. Also we have information on

FileSystemFile.log

************* Start of File System Query. ************* FileSystemFile 4/22/2010 12:09:57 AM 2384 (0x0950)

Query = SELECT __class, __path, __relpath, name, path, lastwritedate, size, companyname, productname, productversion, productlanguage, fileversion, filedescription FROM FileSystemFile WHERE name = '*.exe' and path = '*\\*' and iscompressed = false and isencrypted = false; Timeout = 14400 secs; ScanInterval = 2 msecs; SkipFile = skpswi.dat FileSystemFile 4/22/2010 12:09:57 AM 2384 (0x0950)

Query parsed successfully... ready to scan for files. FileSystemFile 4/22/2010 12:09:57 AM 2384 (0x0950)

Folders to skip: c:\system volume information. FileSystemFile 4/22/2010 12:09:57 AM 2384 (0x0950)

Scanning all local drives using input path *\ FileSystemFile 4/22/2010 12:09:57 AM 2384 (0x0950)

  Skipping A:\; GetDriveType indicates it is not a fixed drive path FileSystemFile 4/22/2010 12:09:57 AM 2384 (0x0950)

Scanning C:\ ... FileSystemFile 4/22/2010 12:09:57 AM 2384 (0x0950)

  Skipping directory c:\system volume information\ FileSystemFile 4/22/2010 12:11:49 AM 2384 (0x0950)

  Skipping directory c:\system volume information\ FileSystemFile 4/22/2010 12:11:49 AM 2384 (0x0950)

  Excluding C:\WINDOWS\$NtUninstallKB923845$\ (compressed) FileSystemFile 4/22/2010 12:11:59 AM 2384 (0x0950)

  Excluding C:\WINDOWS\$NtUninstallKB923845$\ (compressed) FileSystemFile 4/22/2010 12:11:59 AM 2384 (0x0950)

Once the scan based on software inventory rules is completed, the results are stored within WMI on the Advanced Client

Server Side

The Management Point receives the message from the Advanced Client via a CCM_POST request. This allows the client to upload the message to the C:\SMS_CCM\ServiceData\Messaging\EndpointQueues\MP_SinvEndpoint directory on the Management Point.

Once there, CCMExec on the Management Point processes the message to recreate the XML file. This file is then stored in the <SEREVERDIR>[1]\MP\Outboxes\Sinv.box folder. Once the Management Point has properly received the message and converted it into an XML file for processing, the XML file is then parsed and used to create a .SIC or .SID file. If the inventory data in the XML file is a Delta, the XML file is used to generate a .SID file. On the other hand, if the XML file is complete inventory information, a .SIC file is created.

Mp_sinv.log:

Mp Message Handler: copying attachment to C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\SinvAttachment8920FQG5.xml MP_SinvEndpoint 1/31/2010 9:49:55 AM 3548 (0x0DDC)

Inv-Sinv Task: processing xml file "C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\SinvAttachment8920FQG5.xml" MP_SinvEndpoint 1/31/2010 9:49:55 AM 3280 (0x0CD0)

Sinv Sax: loading C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\SinvAttachment8920FQG5.xml MP_SinvEndpoint 1/31/2010 9:49:55 AM 3280 (0x0CD0)

Full report from client SQL, action description = Software MP_SinvEndpoint 1/31/2010 9:49:55 AM 3280 (0x0CD0)

Sinv Task: Translate report attachment to file "C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\9GY0JSG8.SIC" returned 0 MP_SinvEndpoint 1/31/2010 9:49:55 AM 3280 (0x0CD0)

Mp Message Handler: copying attachment to C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\SinvAttachment4L7OW9WF.xml MP_SinvEndpoint 2/19/2010 7:37:16 PM 5980 (0x175C)

Inv-Sinv Task: processing xml file "C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\SinvAttachment4L7OW9WF.xml" MP_SinvEndpoint 2/19/2010 7:37:16 PM 272 (0x0110)

Sinv Sax: loading C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\SinvAttachment4L7OW9WF.xml MP_SinvEndpoint 2/19/2010 7:37:16 PM 272 (0x0110)

Sinv Task: Translate report attachment to file "C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\AN46DUDY.SIC" returned 0 MP_SinvEndpoint 1/31/2010 9:36:45 AM 4812 (0x12CC)

The management point file dispatch manager copies the file to the site server. There the software inventory processor inserts the data into the database.

Sinvproc.log:

Process Inventory Files... SMS_SOFTWARE_INVENTORY_PROCESSOR 1/31/2010 9:27:13 AM 5208 (0x1458)

Processing file: C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\W06N50OM.SIC SMS_SOFTWARE_INVENTORY_PROCESSOR 1/31/2010 9:27:13 AM 4668 (0x123C)

Processing Inventory for Machine: SCCM ResId: 3 [OpCode=17 Sinv=1 FC=0 Resync=1] Generated: 01/31/2010 09:27:02 SMS_SOFTWARE_INVENTORY_PROCESSOR 1/31/2010 9:27:37 AM 4668 (0x123C)

Transactions: Exist=0, Add=1196, Upd=0, Del=0, Total=1196 SMS_SOFTWARE_INVENTORY_PROCESSOR 1/31/2010 9:27:37 AM 4668 (0x123C)

Report for Machine SCCM took 27 secs. for 2290 recs, FP=109, P=985, F=1196, FC=0 SMS_SOFTWARE_INVENTORY_PROCESSOR 1/31/2010 9:27:40 AM 4668 (0x123C)

Successfully Processed file C:\Program Files\Microsoft Configuration Manager\inboxes\auth\sinv.box\W06N50OM.SIC !!! SMS_SOFTWARE_INVENTORY_PROCESSOR 1/31/2010 9:27:40 AM 4668 (0x123C)

If the files are not getting processed then we need to make sure that the component SMS_SOFTWARE_INVENTORY_PROCESSOR. In certain circumstances a site reset can also help.

Links

https://technet.microsoft.com/en-us/library/bb693889.aspx : Overview of Inventory

https://technet.microsoft.com/en-us/library/bb632359.aspx  :Troubleshooting Inventory


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