since few weeks i was working on troubleshooting the inventory data loader issues on the client computers .Sometimes I get red Alert on the configuration manager Site status node for sms_inventory_data_Loader component. If you look at the monitoring node--site status--component status.Right click and select show messages all ,look at the red alerts with description "SMS Inventory Data Loader failed to process the delta MIF file “Xr1i0uv7v.MIF” because the file does not have a corresponding discovery record. SMS Inventory Data Loader has moved this file to the Orphans directory as file "D:\SMS\inboxes\auth\dataldr.box\Deltamismatch\86rt11zz.MIF” and will retry processing it within 10 minutes.“
Take a look at your configuration manager inbox folders , inboxes-->auth-->Dataldr.box-->Deltamismatch ,From this folder,you may see a lot of mif files which are failed to process by the site server. There could be many reasons for not processing these files like if the machine is not in SMS/SCCM OR the machine is too new and has not been discovered, or it was deleted from the DB etc.
In CM12,the badmif files are categorized into different folders like deltamismatch,exceededsizelimit,invalidmachine ,Majormismatch,missingsystemclasses,NonExistentRow,outdated. So based on the error description,the badmif files will be moved to these folders.
These mif files can be open with notepad .so if you open the mif file,you can see the computer name with attribute called <Netbios Name> and other important information.
If you have small number of mif files ,it is easy to open file with notepad ,take computer name and troubleshooting the problem but what if i have large number of mif files from these folders ? opening each mif file to get computer name will take longer time and in some cases,a single computer may be sending different mif files. so dealing these scenarios manually is very difficult task.
There are various powershell scripts ,tools and methods available online to sort these mif files ,but i find the below procedure is more easy and convenient for me to deal with badmif files.
How to sort these badmif files (get computer name,how many times each client sent mif file,when was it last inventory sync etc).
Procedure:
Create a folder on your specific drive for ex: D:\sortmif and place these(4)files into it
open notepad and place the below script into
The rose color font needs to be changed depends on your Configmgr inbox folder structure and site server name.
REM ***********************Started*************************************************
@ECHO OFF
cd D:\sortmif
D:
sortmifs dbserver=PRODSCM dbname=SMS_P01 xls=D:\sortmif\badmif.xls mifdir=G:\SMS\inboxes\auth\dataldr.box\BADMIFS\DeltaMismatch /S /DEL
REM If your SQL server uses named instance,change the DBserver to SQLServername\Instance name
REM *******************************Completed*************************************************
If you want to send this as a mail ,then add the below lines to the above code at the end:
SLEEP 600
blat D:\badmif.xls -to email.address@company.com- subject "Site ABC Bad Mifs Report"
SLEEP 15
del badmif.xls
The above bat script gives you an output file in CSV format .If you want to track the mif files that are present in other badmif folder,you can simplt replace the DeltaMismatch with required folder and run the script.
Thanks to ROD for posting the tool again on to the Myitforum.
Take a look at this blog(Nick) discussing the various reasons for causing badmif files http://myitforum.com/cs2/blogs/nickaquino/archive/2010/05/07/badmif-processing-when-a-client-doesn-t-report-hardware-inventory.aspx
http://blogs.technet.com/b/scotts-it-blog/archive/2015/04/29/identifying-and-counting-computers-sending-badmif-files.aspx
To troubleshoot the inventory data loader issues ,you can use collection commander tool http://sourceforge.net/projects/smscollctr/
4 Comments
Hello, I'm trying to run this but having an issue and hoping you can help.. The command I run is:
sortmifs dbserver=SCCM\SCCMSERVICE xls=C:\temp\SortMif\badmif.xls mifdir="E:\Program Files\Microsoft Configuration Manager\inboxes\auth\dataldr.box\BADMIFS\DeltaMismatch"
The return I get is:
Database Server: SCCM\SCCMSERVICE
SMS Database:
BadMif folder: E:\Program Files\Microsoft Configuration Manager\inboxes\auth\dat
aldr.box\BADMIFS\DeltaMismatch
Report: C:\temp\SortMif\badmif.xls
Delete Mif if client sync'd: No
Begin MIF sorting? (Y/N): y
DBD::ODBC::st execute failed: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'System_DATA'.(SQL-S0002)
[Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared. (SQL-37000)(DBD:st_execute/SQLExecute err=-1) at C:\temp\SortMif\sortmifs.exe line 135, line 1.
Database Read Error: DBI::db=HASH(0xa2c7ea8)->errstr at C:\temp\SortMif\sortmifs.exe line 135, line 1.
Please advise. Thanks!!
Hey,
I am seeing the same issue on my primary. I have a bunch of MIF files under dataldr.box\BADMIFS\DeltaMismatch folder. I am runnin sccm 2012 r2.
Any ideas?
you can still use the solution what is provided in the blog post by running sortmif tool.
I love experiencing innovative posts such as this with top quality information gathered as well as talked about. I feel should you have dug even a little deeper, this article might almost become a good academic post or perhaps academic resource. I have added your blog to my personal RSS reader to be able to see for what you have in the near future.