FlexNet Inventory Agent Unique Identifier (AgentID)
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 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.
-
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).
- Physical Machines—HostName and BIOS_Serial_Number both changed.
- 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.
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