FlexNet Inventory Agent Unique Identifier (AgentID)

IT Asset Management (Cloud)

When the FlexNet Inventory Agent runs on a device for the first time, it generates a unique identifier known as the AgentID. This ID helps correlate inventory data with the correct computer record, independent of domain or computer name. As a result, even devices with identical names in the same domain are correctly identified as separate records in the inventory database.

Where AgentID is used

The AgentID mechanism functions across all inventory collection methods:
  • The FlexNet Inventory Agent locally installed on an inventory device
  • Zero-footprint collection managed by an inventory beacon
  • The lightweight FlexNet Inventory Scanner
  • The core ndtrack component installed using third-party means.

The AgentID is an internal identifier and is not visible in listings or property sheets in the web interface.

Why it matters

Normally, devices are identified by the combination of their domain name and computer name. However, duplicates can occur, especially among non-Windows devices that may not report a domain. These devices may have different hardware or software profiles. To prevent data conflicts or overwrites, IT Asset Management assigns each device a hidden AgentID to ensure accurate differentiation and tracking.

If multiple records with the same name appear in IT Asset Management inventory (especially with different software or users), you should investigate and consider renaming devices to ensure unique identification. This approach will likely improve compatibility with third-party inventory tools that may not support AgentID and rely solely on names.

The AgentID also allows for continuity across name changes. When a device is renamed, its AgentID ensures that future inventory imports and license reconciliations update the correct record instead of creating a new one.

Note: It is best practice to ensure each device has a unique computer name to maintain reliable identification, especially when integrating with third-party inventory sources.
At a high level, agent ID is generated using the following:
  • Physical Machines—SHA256(HostName + BIOS_Serial_Number + History_Iteration)

  • Virtual Machines—SHA256(VMID + GenerationID + History_Iteration) (where generation ID is available only for certain hypervisors running certain versions of Windows guests).
The agent ID is regenerated if enough conditions have changed, at which point the history iteration is incremented also:
  • Physical Machines—HostName and BIOS_Serial_Number both changed.
Virtual machines are rather complicated to distinguish VMs that have been moved or cloned (copied). To account for a broad array of scenarios the following is used:
  • If generation ID is present and changed, and all physical MAC addresses have changed, regenerate ID
  • If VMID is present and changed, regenerate ID
  • If all physical MAC addresses have changed, regenerate ID.

The AgentID, the properties used to generate it, and all historical IDs and properties are sent in an NDI created with ndtrack.

Note: These implementation details may change across IT Asset Management versions. AgentID is one factor among others in identifying devices, and its role may vary depending on available evidence.

How will bad or missing data affect the content of the AgentID

When the agent encounters bad SMBIOS IDs on Windows (a value of FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF, indicating no SMBIOS ID is present) it will fall back to using the physical, non-removable, MAC addresses present on the machine. The resulting AgentID will be:

  • AgentID—SHA256(Mac1 + Mac2...MacN + ComputerName + IterationID)

If an existing AgentID is present that was generated with a bad SMBIOS ID, the agent will force the AgentID to be regenerated to obtain a new unique ID.

If no MAC addresses are available, no hardware ID will be present and therefore no AgentID can be generated (this is existing behavior).

Disabling the AgentID

The option named AgentIDLevel allows for controlling how the AgentID is generated. The option can be set on the command line, the Windows registry in the Tracker\CurrentVersion key, or in config.ini in the Tracker\CurrentVersion section on Unix agents. There are three possible levels: Disabled, Full, and PhysicalOnly. Disabled will completely disable the AgentID when running ndtrack. PhysicalOnly will only allow generating an AgentID on physical machines. Full indicates the AgentID should be generated as it normally would be. Full is the default setting to maintain behavior from existing agents.

IT Asset Management (Cloud)

Current