07 February 2012

The Basics of SMS/SCCM MIF files

Definition
First off, the firm I work for still uses SMS 2003. MIF files are used in both SMS and SCCM. It sucks that there is so little information about MIF files. A MIF is a data snippet file that is collected and read when the SMS/SCCM hardware inventory is run on a machine. The file contains unique data pertaining to the machine it was generated on, which is reported to SMS/SCCM. A MIF file is nothing more than a set of definitions that SMS/SCCM collects to present in the resource explorer.

MIF File Location
This MIF is placed in the %WINDIR%\SysWOW64\CCM\Inventory\noidmifs directory on a 64-bit operating system and %WINDIR%\system32\CCM\Inventory\noidmifs on a 32-bit operating system. The name of the MIF file is not important. Once you place the MIF file in the directory, the next time a hardware inventory is run on the machine, the file will be collected and removed from the directory.

Detailed Usage
A MIF has no programming dynamics in it. To successfully generate and report MIF files back to SMS/SCCM, there needs to be a script run on the machine that determines the data to report. There are two ways to generate a MIF. The first and easiest is to manually create a MIF for each possible outcome of the desired operation, thereby the script copies the pertinent MIF to the noidmifs directory for reporting. The reason you want to use the noidmif is because SMS/SCCM automatically associates the MIF with the client it was collected from if it is in this directory. IDMIF files are data files not associated with the client it was collected from. The second option is to create a MIF template. The script will perform the operation to determine the data to be reported to SMS/SCCM and then reads the contents of the MIF file to edit the attribute section, modifying the output being reported to SMS/SCCM.


Example
Here is an example I created at the firm I work for. This MIF reports back to SMS/SCCM if the User Account Control is disabled on a machine. There can be multiple attributes reported under a single group and multiple groups reported under the component.
 Start Component  
     Name = "UAC Info"         Name of the MIF being reported  
     Start group                Group of subsections being reported to SMS/SCCM  
          Name = "UAC Info"     Name of the subsection in the Resource Explorer under Hardware  
          ID = 1               The sequential number associated with each subsection being reported  
          Class = "UACInfo"  
          Start Attribute  
               Name = "Status"    Name of the column in the subsection  
               ID = 1           Sequential number associated to each attribute being reported  
               Type = String(10)   Data type being reported  
               Value = "Disabled"  Actual data being reported  
          End Attribute  
     End group  
 End Component  


The above screenshot shows the output to SMS from the above listed MIF file

Related Posts:

  • SCCM: Package not updating on the distribution points You have made changes to your installation package and it does not update on the distribution points, even after validating and redistributing. I ran into this issue and could not figure out why it was doing this. I ended up… Read More
  • Deploying enormous packages across a WAN As many of you might know, deploying huge packages through SCCM can be a challenge. The first question you might ask is, define enormous. IMO, anything over the default 5GB client cache size is enormous. Working in the archi… Read More
  • SCCM 2012 R2 Client Uninstalls after Reboot I encountered an issue with SCCM 2012 R2 when deploying the client to systems that were being upgraded from SCCM 2007. What would happen was that I pushed the client to the system through the console using the Install Client… Read More
  • Running Programs as an Application Installation in SCCM 2012 Recently, I had to deploy an application, IntApp, with minimal intrusion and no reboots. Part of the process was to restart the application after a successful installation. The crux was that the application has to run und… Read More
  • Microsoft Office Updater One of the things that has annoyed me in the past is having to keep the Microsoft Office Updates folder up-to-date with the latest .MSP files. The reason I bother with keeping the Updates folder up-to-date is because it spe… Read More

2 comments:

  1. Hey Mick!
    Great Post and very easy to read! Thanks! :)

    ReplyDelete
  2. Hi Nick
    I'm having problems with a custom software package i've created for SCCM 2007 deployment to windows 7 clients.
    The advertisement actually runs a batch file installing several .exe and .msi files.
    Problem I'm having is the reporting back, i'm getting failure return codes due to a lack of .MIF even though the package installs correctly. After a bit of help to create a custom MIF to convince SCCM that the package has installed.

    ReplyDelete