Creating a Class by Using a NOIDMIF File

The most common way to use a NOIDMIF file is to create a new class that cannot be collected with inventory, and then store it in the SMS site database. For example, before SMS was installed on their network, Wide World Importers catalogued each computer in the organization by using a company-assigned asset number. These numbers were assigned and collected by hand. With SMS, administrators from Wide World Importers can use a NOIDMIF file to add the asset number for each client computer to its other information within the SMS site database, so that it is available for queries and asset management. Because the asset number is then associated with collected inventory properties, much more information is always available to administrators. The following sample NOIDMIF file illustrates this process:

Start Component
   Name = "System Information"   Start Group
      Name  = "Wide World Asset Numbers"      ID    = 1
      Class = "wideWorldAssetNumbers"      Key = 1
      Start Attribute
         Name    = "Computer Asset Number"         ID      = 1
         Type    = String(10)
         Value   = "414207"      End Attribute
   End Group
End Component

Note

  • The value is stored as a string because, in some reporting tools, commas are automatically inserted for integer values, which can cause the format of the asset number to change.

You can create NOIDMIF files by using the MIFgen tool included in the Microsoft BackOffice® 4.5 Resource Kit, or you can create them by using any text editor.

To create such a NOIDMIF file using a text editor, use the following procedure.

To create a NOIDMIF file to add the Wide World Importers Asset Numbers class

  1. Type the following line to begin the NOIDMIF file:

    Start Component
    
  2. You must always add a component and name the component when you create a NOIDMIF file.

  3. Type the following line to name the component:

    Name = "System Information"
    
  4. By using a general name such as System Information, this component becomes more flexible. You can then use it to add any information you want to maintain for this client by adding new groups to the existing NOIDMIF file.

  5. Type the following line to add the Display Name for the new Wide World Importers Asset Numbers class:

    Start Group
    Name = "Wide World Importers Asset Numbers"
    
  6. The Name property is the string that administrators see in Resource Explorer to refer to this class. Wide World Importers Asset Numbers is a DMTF group class. When SMS first loads this group, it creates a WMI class called SMS_G_wide_world_asset_numbers.

  7. After you add properties, even if you add only a single property, you need to add a group to contain your new properties.

  8. Type the following line to give the Wide World Importers Asset Numbers class a group ID number:

    ID = 1
    
  9. Use any method to determine the unique ID number for each group and property, if the ID number is unique for groups within this component.

  10. Type the following line to add the wideWorldImportersAssetNumbers class:

    Class = "wideWorldImportersAssetNumbers"
    
  11. The Class information is used for processing and is never seen by administrators.

  12. Type the following line to add the key property:

    Key = 1
    
  13. This entry indicates that the first property listed is the key. Key properties are unique properties that identify instances of a certain class. Whenever you have more than one instance of a class, you must include at least one key property, or the subsequent instances of the class overwrite the previous instances. If no key properties are defined for a NOIDMIF file on a client running a 32-bit operating system, all the properties are designated as key by the inventory process. This does not occur for IDMIF files or for NOIDMIF files on clients running 16-bit operating systems.

  14. Type the following lines to add the first property:

    Start Attribute
    Name = "Computer Asset Number"ID = 1
    Type = String(10)
    Value = "414207"End Attribute
    
  15. You must set an ID number for this property, name the property, and then specify a data type. The ID number you choose must be unique within the group. Only three data types are recognized by the system: integer, string, and specially formatted DateTime string. You must also specify a valid value for the data type you selected.

When you use a NOIDMIF file to define a new class, the class is inventoried at the next cycle, because the NOIDMIF file is processed on the client.

When you customize hardware inventory by using NOIDMIF files, you must leave the NOIDMIF in the NOIDMIFS folder on the client. The custom MIF file is used at each hardware inventory cycle when the extended classes and properties are collected. If the NOIDMIF file is not found on the client during hardware inventory, the extended classes and properties are deleted and you must submit the NOIDMIF file again by replacing it in the NOIDMIFS folder on the client.

The NOIDMIF file in this example is manually created and its values are static. The values are updated only when someone edits the file. SMS hardware inventory then collects the updated file and updates the corresponding data in the SMS site database.

For More Information

Did you find this information useful? Please send your suggestions and comments about the documentation to smsdocs@microsoft.com.