SCCM 2012 – Troubleshot Hardware Inventory import

Hey, here is Martin again, in this Blogpost I would like to explain, how you can resolve Problems with Hardware Inventory and BADMIF and also Delta Mismatch Errors.

I tested around with some WMI classes, and ended up with Errors in “SMS_INVENTORY_DATA_LOADER”, all of them coming up with Message ID 2700 and text:

Inventory Data Loader failed to read the delta MIF file “D:\Program Files\Microsoft Configuration Manager\inboxes\authdataldr.box\Process\XH1X3RT45.MIF” and will move the file to the BADMIFs directory.

BadMIF 2700

This led me to check, if there are more Information in the dataldr.log, and surprisingly, there were:
Dataldr.log
Most important Information in this log is, which MIF I should check, and on which line the MIF could not be read through SCCM:

Compilation failed~syntax error on line 30, token ‘,’
Cannot process MIF XH7T9DDUL.MIF, moving it to D:\Program Files\Microsoft Configuration Manager\inboxes\authdataldr.box\BADMIFS\ErrorCode_4\ss753bg7.MIF

I’m then going to open the file ss753bg7.MIF to see, which line produced the error:
BadMIF
So as a said, I tested around, and this WMI Class “WmiMonitorID” was from those testings. So, Problem found, I easily remove this WMI class from the Hardware Inventory, I also deleted it:
Remove WMI class from Hardware Inventory

After a Machine Policy Update, and another Hardware Inventory Cycle, the Hardware Inventory should be written again to the SCCM Database. In my case, the next Problem was coming up with the Delta Mismatch Errors. I can’t tell you, how this Problem is produced, but I found a way through TechNet Forums, to create a full Hardware inventory which solves the Problem with the Deltas. First, the Error Messages in the System Center 2012 Configuration Manager Console:

Inventory Data Loader failed to process the delta MIF file “XHWPE4KKD.MIF” and has moved it to “D:\Program Files\Microsoft Configuration \Manager\inboxes\authdataldr.box\BADMIFS\DeltaMismatch\kvw1avzj.MIF.”

BadMIF 2703
This message is coming over and over again. To solve this, I simply followed the Description from Torsten in a SCCM TechNet Forum (unfortunately I can’t find the link to this post anymore :(). Open wbemtest.exe as local Administrator on the particular system, in my case, it was the Domain Controller:
Check Delta Mismatch Computername
wbemtest
Click on connect, and connect to Root\ccm\InvAgt:
Connect to RootccmInvAgt
Click on “Enum classes” and in this opening Dialog, select “Recursive” and click on OK:
Superclass Info
Navigate then to the “InventoryActionStatus” and double click this entry:
Query Result
You have then opened the Object editor for InventoryActionStatus, simply click on “Instances” to view those:
Instances
Select the Instance with ID ending on 000000000000001 and click on delete, to delete this instance:
Delete Instance
Close all open Dialogs from wbemtest, and go to your logfile Location of your SCCM Client and open InventoryAgent.log, and then start a Hardware Inventory Cycle or wait until the scheduled cycle is done. You should find the following entry which tells you, that a Full Inventry was created:

Inventory: Version number mismatch; will do a Full report.

Hardware Inventory full report

Hope this helps 🙂

7 thoughts on “SCCM 2012 – Troubleshot Hardware Inventory import

  1. I have nearly 3000 deltamismatches and a hundred machines out of date – is this the easiest way for sccm to be nudged to do a full inv?

  2. This helped, thanks.

    The steps above can be performed with PowerShell as well:

    $cimi = Get-CimInstance -Namespace root\ccm\InvAgt -ClassName InventoryActionStatus -Filter “InventoryActionID = ‘{00000000-0000-0000-0000-000000000001}'”
    Remove-CimInstance -InputObject $cimi

  3. When Configmgr detects a delta mistmatch, it automatically creates an inventory resync (full Inventory) request policy for the affedted client. You can see this in the status messages – look for Message ID 2703

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

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

Facebook photo

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

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.