A few days ago, I noticed that some of my clients were not able to send inventory data to the Config Manager.
On SCCM Console/Monitoring/System Status/Site Status/ Management Point Messages, I saw that error log:
Inventory Data Loader failed to process the file C:\Program Files\Microsoft Configuration Manager\inboxes\auth\dataldr.box\Process\HKF2KYE6.MIF because it is larger than the defined maximum allowable size of 5000000.
Solution: Increase the maximum allowable size, which is defined in the registry key HKLM\Software\Microsoft\SMS\Components\SMS_INVENTORY_DATA_LOADER\Max MIF Size (the default is 5 MB), and wait for Inventory Data Loader to retry the operation.
The problem was allowed size of the MIF file. The default value is 5mb and I had to change a registry value on Config Manager to allow bigger MIF files to be accepted. I changed it to 50mb which is the maximum size. So, please check that because I believe soon or later, any sccm admin would face that problem in time if he is using hardware inventory functionality on Config Manager.
The registry path is HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Components\SMS_INVENTORY_DATA_LOADER\
and Change Max MIF Size to 3200000 (hex) and close the registry.
While trying to solve the problem, I've read articles and forum posts on how to troubleshoot hardware inventory problems and I decided to write a reference for myself just in case I might need to go back and read the subject again.
When a client computer sends its hardware inventory it uses one of these 3 synchronization methods. Full, Delta or Re-Sync.
Full Syncronization: this method is used when client sends the inventory data for the first time. So, there is no report exists and client computer send everything that is defined in client policy.
Delta Syncronization: After the Full sync, client uses delta syncronizations which only sends the changes on the client instead of sending the whole report.
Re-Sync: When ConfigManager figures out when there is a missing delta syncin the sequence and it asks clients to send the whole report again. Therefore Re-sync is the same report as Full report but it is used when there is missing delta sync. We can force Full Syncronization with tools like SCCM Client Center. It is a free tool and it has many nice features that you can use when managing clients.You can download it from the link below.
Hardware Inventory Flow:
When you start the hardware inventory from the actions tab on a client, you will see a new log entries are populated in Inventoryagent.log
Major Version: Each time a Full report is sent, major version is incremented.
Minor Version: Each time a Delta report is sent, minor version is incremented.
At the end of Inventoryagent.log , You will see an ID, Note that ID somewhere, we will be using it when checking the logs later on. (AEE5CC12-462A-48B6-BF95-FE385D4B044C)
InventoryAgent log tells us, report is created and sent to the MP.
Now open your ccmmessging.log file, search for the MESSAGE PAYLOAD TRANSFER COMPLETE message. Msg ID will be the same ID which we saw InventoryAgent.log (AEE5CC12-462A-48B6-BF95-FE385D4B044C)
This log tells us the inventrory report uploaded to the MP successfully.
Now, lets look at the IIS Logs, Browse C:\inetpub\logs\LogFiles\W3SVC1 and open the latest dated log file. Search for the ID we noted before
we should see these three BITS related entries (new session, upload complete and close session)
After viewing InventroyAgent.log, ccmmessaging.log and IIS logs with BITS entries, we can say that Client computer has done its duty and report succesfully sent to the MP.
On Config Manager, In Dataldr.log file, we will see the our machine name. The MIF file is moved from dataldr.box to dataldr.box/process folder first and then MIF data is written to the database by using 117 stored procedures and Hardware Inventory Report process will end.
On Config Manager console, right click the client computer and start Resource Explorer. You can check when the last report update was written to the database by looking at Workstation Status>Last Hardware Scan."