Displaying an Architecture's Objects in the Sites Window

Depending on how you define a custom architecture, you can choose whether to display custom architectures in the Sites window.

To create an object that is displayed in the Sites window, the object's architecture must have an Identification group with the following five attributes defined:

Site
The site containing the object.
Domain
The domain containing the object.
Name
The name used to identify the object.
SystemType
The type of object.
SystemRole
The role the object has in the SMS system.

An object with these attributes defined is displayed in the Sites window within the specified Site and Domain.

If a custom architecture does not have these attributes defined, its objects are not displayed in the Sites window; you must display these objects by using a query.

Object Syntax

An SMS object is a specific item that uses a specific architecture. For example, the SMS system uses the Personal Computer architecture to inventory computers as objects. An object contains groups. For SMS, an object must have an Identification group and an Architecture group.

An object definition within a MIF file starts with the line Start Component and ends with the line End Component. Within an object definition, you should have the following entry:

Name
A string (enclosed by quotation marks) that labels the object.

Example of an object:

Start Component
    Name = "EMPLOYEE"
    Start Group
        Name = "Architecture"
        ID = 1
        Class = "MICROSOFT|ARCHITECTURE|1.0"
        Start Attribute
            Name = "ArchitectureName"
            ID = 1
            Access = READ-ONLY
            Storage = SPECIFIC
            Type = String(10)
            Value = "Employee"
        End Attribute
    End Group
    Start Group
        Name = "Identification"
        ID = 2
        Class = "MICROSOFT|IDENTIFICATION|1.0"
        Start Attribute
            Name = "Employee Name"
            ID = 1
            Access = READ-ONLY
            Storage = SPECIFIC
            Type = String(32)
            Value = "Mitch Duncan"
        End Attribute
    End Group
End Component

Group Syntax

A group is a set of one or more attributes. When the inventory for an object is displayed in the object's Properties window, all the groups for the object are displayed in the left pane. The attributes for the selected group are displayed in the right pane.

Objects (called Components in the DMTF structure) for every architecture must have an Identification group and an Architecture group.

A group starts with the line Start Group and ends with the line End Group. Within the group, specify the following entries:

Name
A string (enclosed by quotation marks) that labels the group. When the group is displayed in the Properties window, this string is used to label the group in the left pane.
ID
A number that identifies the group. The ID must be unique for each group within the object. The ID is an integer value. Group IDs must be 1 or greater.
Key
Applies only to multiple-instance groups. For example, an object such as a disk drive can have multiple instances on a computer. One or more keys are used to differentiate the instances. For example, the Disk Drive group has a key defined for the Drive Letter attribute. The key entry specifies one or more identifiers for the attributes used to uniquely identify an instance of a group. If you have multiple keys, you must separate them with commas. If a group can have only a single instance, then no key should be defined.
Class
A required string describing the source of the group definition.

A group also contains one or more attributes.

Example of a group:

    Start Group
        Name = "Employee Name"
        ID = 1
        Class = MICROSOFT|EMPLOYEE NAME|1.0
        Start Attribute
            Name = "Last Name"
            ID = 1
            Access = READ-ONLY
            Storage = SPECIFIC
            Type = String(32)
            Value = "Smith"
        End Attribute
        Start Attribute
            Name = "First Name"
            ID = 2
            Access = READ-ONLY
            Storage = SPECIFIC
            Type = String(32)
            Value = "John"
        End Attribute
    End Group
 

Identification Group Syntax

Objects for every architecture must have an Identification group. The Identification group can have any number of attributes. However, you should ensure that all attributes are included in all objects that are part of a single custom architecture.

    Start Group
        Name = "Identification"
        ID = 1
        Class = "MICROSOFT|IDENTIFICATION|1.0"
        Start Attribute
            Name = "Employee Name"
            ID = 1
            Access = READ-ONLY
            Storage = SPECIFIC
            Type = String(32)
            Value = "Mitch Duncan"
        End Attribute
    End Group
 

Architecture Group Syntax

Objects for every architecture must also have an Architecture group. The Architecture group contains one attribute. The value of the ArchitectureName attribute should be the label you want to display for the architecture in the SMS Administrator. For example, when you view an object with a custom architecture, the ArchitectureName attribute is displayed in the Properties window title bar.

    Start Group
        Name = "Architecture"
        ID = 1
        Class = "MICROSOFT|ARCHITECTURE|1.0"
        Start Attribute
            Name = "ArchitectureName"
            ID = 0
            Access = READ-ONLY
            Storage = SPECIFIC
            Type = String(10)
            Value = "Employee"
        End Attribute
    End Group
 

Attribute Syntax

When the inventory for an object is displayed in the object's Properties window, all the groups for the object are displayed in the left pane. The attributes for the selected group are displayed in the right pane.

An attribute starts with the line Start Attribute and ends with the line End Attribute. Within the attribute, you should have the following entries:

Name
A string (enclosed by quotation marks) that labels the attribute. When the attribute is displayed in the Properties window, this string is used to label the attribute in the right pane.
ID
A number that identifies the attribute. The ID must be unique for each attribute within the group. The ID is an integer value.
Access
Determines the access type of the table where the attribute will be stored. Values can be READ-ONLY, READ-WRITE, and WRITE-ONLY. The Access statement is optional and defaults to READ-ONLY.
Storage
Assists management applications to optimize storage requirements. Values can be common or specific. The Storage statement is optional.
Type
The data type used to store the value of the attribute. There are two data types. Counter is an integer. String is a character string. For strings you must specify the maximum length for the string.

The SQL Server database has a limit of 255 characters for any attribute value. Any string longer than 255 characters will be truncated. In addition, any values longer than the originally defined length will be silently truncated. For example, if the attribute "Employee Name" is defined as "string(40)", SMS will add only the first 40 characters for an "Employee Name" value that is longer than 40 characters.

The SMS system uses the first definition of Type. For example, if you first defined "Employee Name" as "string(40)", the SMS system will always use that type. You cannot change the Type value after you have first defined it.

Value
The value assigned to the attribute. The value must be in the form specified by the Type entry. Strings must be enclosed within quotation marks. Counters must be decimal integers. The Value statement is optional.

Example of an attribute:

        Start Attribute
            Name = "Hours Worked"
            ID = 1
            Access = READ-ONLY
            Storage = SPECIFIC
            Type = Counter
            Value = 500
        End Attribute