Share via


Updating Properties of an Existing Resource Instance

When the Discovery Data Manager (DDM) finds an existing resource that matches the DDR, the resource instance is updated; otherwise, a new instance is created. The DDM uses the following approach to find a resource match:

  • If the DDR specifies the unique identifier property for the resource, it is used to find a matching resource instance.

    If more than one match is found (in the case of cloned computers) or if a match is not found using the specified unique identifier, the key properties are used to find a matching resource — all key values must match those of an existing resource. In the case of cloned computers, the DDM determines a match based on the first key match found.

  • If the DDR does not specify the unique identifier property, the key property values are used to find a matching resource. However, not all key values must match. The DDM determines a match based on any single key value matching the same key value of an existing resource.

Before you update an existing instance, you must know the key properties and unique identifier of the resource type. You can run the following query against the SMS Microsoft® SQL Server™ database to determine the key property(s) for a resource class.

SELECT * FROM DiscPropertyDefs WHERE (Flags & 0x8) = 0x8

To determine the unique identifier property, use (Flags & 0x2) = 0x2 in the WHERE clause. The following table shows you the unique identifier and key properties for the system, user, and user group resource classes.

Resource Property string Flags
System Netbios Name
IP Addresses
IPX Addresses
MAC Address
Resource Names
SMS Unique Identifier
key
key
key
key
key
key, unique identifier
User Unique User Name key, unique identifier
User group Unique Usergroup Name key, unique identifier

System resources use a GUID value for the unique identifier that is stored on the SMS client in the system registry. For information, see Getting the SMS Unique Identifier Value For a Client.

For an example that updates the system resource type, see Adding New Properties to an Existing Resource Type.