Requirements of IDMIF Files

Two delta header comments are required for an IDMIF file; the other comments are optional. The comments you must include are:

The unique ID can be any unique ID, such as a social security number for a person or a vehicle identification number for a vehicle. Each architecture has one or more instances within the SMS site database. The unique ID is the key for this specific instance.

In addition, although it is not required, you should use the agent name, especially with a large or complicated custom MIF file that might be updated by more than one agent, or when you extend the System architecture.

//AgentID<AgentName>

If you do not include this attribute, hardware inventory might overwrite the information your IDMIF file places in the SMS site database.

The agent name enables you to independently create and modify the System architecture. Others who modify the architecture can use a different agent name. They can then remove or modify the parts of the architecture that are associated with that agent, independently of the modifications of other agents.

There is another requirement of any IDMIF file: Whenever you create an IDMIF file, you must include a group within the IDMIF file with the same class name as the architecture you are creating or modifying. This group is known as the top-level group.

Also, if you create any class that has more than one instance, you must include at least one key value within the class, to avoid having each instance overwrite previous instances. For more information, see “Creating an Attribute by Using a NOIDMIF File.”


Table 10.1 IDMIF File Header Comments

IDMIF file header
comment

Required

Function
//AgentID
<Agent Name>
NoThe name of the agent that produced the custom MIF file. You can use your name or the name of an application that produced the custom MIF file. This field is most useful when more than one agent is expected to change an architecture. You must specify this value for the ResyncAgent header comment, or if the ResyncClass value is set to 1.
//FullResync<0>NoA value of 1 causes a full resynchronization of this architecture for this instance (this Unique ID). A value of 0 causes a delta resynchronization (changing this architecture for this instance). This field is most useful for completely replacing an instance of an IDMIF file or for erasing any information that remains in the SMS site database after an IDMIF file is no longer being used.
//ResyncAgent<0>NoA value of 1 causes an agent resynchronization (replacing all of the values added by this agent to this architecture in the SMS site database with the results of this IDMIF file). This field is most useful for large or complicated IDMIF files.
//ResyncClass
<ClassName><1>
NoA value of 1 causes an agent resynchronization of the specified attribute class in the SMS site database (completely replacing all elements of this attribute class created by this agent with the contents of this IDMIF file). A value of 0 completely replaces the class with the contents of the MIF file. This field is most useful for large or complicated IDMIF files.
//Architecture
<architecture name>
YesThe name of the architecture. When you create a new architecture, the architecture is created within the SMS site database with the name you provide.
//UniqueID
<UniqueID>
YesThe single value that uniquely identifies this instance in the SMS site database. This value can be the globally unique identifier (GUID) or SMSID of a specific client or some other unique number, such as a social security number for a person or a vehicle identification number for a vehicle.


Note   The inventory process adds a header to NOIDMIF files during processing that is very similar to the delta header you add to IDMIF files.


Procedure Bullet  To create custom IDMIF files

  1. Prepare the IDMIF file by following the procedures in “Creating an Attribute by Using a NOIDMIF File” earlier in this chapter.
  2. Add the architecture name by adding the following statement to the beginning of the IDMIF file:
  3. //Architecture<ArchitectureName>
  4. Add a unique ID in the following format:
  5. //UniqueId<UniqueID>
  6. Add an agent ID if this is required or desirable for your IDMIF file. Use your name or another identifier for the agent ID.
  7. //AgentID<AgentName>

    You should always consider using agent IDs when you create an IDMIF file. When you extend the System architecture, agent IDs are required so that hardware inventory resynchronizations do not overwrite the data. As mentioned earlier, they are most useful for large or complicated IDMIF files, especially when parts of the file might be changed by different agents.

  8. Copy the IDMIF file to the client’s target directory. For example:
  9. Copy test.mif %Windir%\MS\SMS\Idmifs

    The IDMIF file will be processed by Inventory Data Loader and included in the SMS site database. You can update the values by using additional IDMIF files.

After you submit an IDMIF file, you do not need to resubmit it or maintain it within the SMS site hierarchy unless you want to change it.