The Adapter Executable

FlexNet Manager Suite 2022 R1 (On-Premises)

For use with the adapter, BMC Discovery supports two ways of extracting inventory data it has collected:

  • Using export mapping sets
  • Using a web API.

While the former is more commonly used, the BMC Discovery adapter for FlexNet Manager Suite uses the latter, for the following reasons:

  • It avoids the need to deploy and maintain export mapping sets on every BMC Discovery instance in your enterprise.
  • Performance of data collection can be 100 times faster using the web API. For example, data extraction that can take over 24 hours using mapping sets can be completed in 20 minutes with the web API. This is because the export feature in BMC Discovery is designed for more complex export capabilities and can therefore be slow to perform simple queries. FlexNet Manager Suite requires only simple queries to be executed on BMC Discovery, and these are performed far more efficiently using the web API.

The adapter's tool to query the web API consists of two parts:

  • FnmpADDMStage.exe — A .NET 4.5 console program capable of querying the XML API of BMC Discovery and writing the results into an SQL Server database, and optionally to XML files on the local file system. This program supports command line arguments, available using FnmpADDMStage -h
  • FnmpADDMSettings.xml — The self-documenting configuration file for FnmpADDMStage.exe which contains the queries executed against BMC Discovery (in the BMC Discovery query language), and can include connection settings for BMC Discovery and SQL Server.

In operation, the executable, FnmpADDMStage.exe, extracts the inventory data from BMC Discovery and saves it for further processing. There are different ways that it can save the data, based on the following values of its method parameter:

  • Stage — Summary: BMC Discovery to XML. Inventory gathered from BMC Discovery is saved to a series of XML files on the staging server. It is not imported into the staging database. The XML files allow for review of the gathered data, but the inventory is not imported into FlexNet Manager Suite from these files.
    Tip: The XML file option also allows for disconnected scenarios, where inventory collected from an BMC Discovery server that is out of reach of the staging server can be written to XML, manually copied and transferred to another staging server, and the upload process resumed. See also the Prestaged method below.
  • Staged — Summary: BMC Discovery to XML/SQL. Inventory gathered from BMC Discovery is first written to the XML files on disk (for example for review), and then copied into the staging database where it can be imported into FlexNet Manager Suite for use in compliance calculations.
  • Prestaged — Summary: XML to SQL. In this mode, inventory is not gathered from BMC Discovery. Instead, the XML files present on the disk from a previous inventory collection (and perhaps reviewed and approved by a human agent in this format) are now copied into the staging database where it can be imported into FlexNet Manager Suite for use in compliance calculations.
  • Stream — Summary: BMC Discovery to SQL. Inventory is gathered from BMC Discovery, and loaded into the staging database where it can be imported into FlexNet Manager Suite for use in compliance calculations. In this method, inventory is not recorded in XML files on the staging server.

Default values for the method and all other parameters are set in the companion FnmpADDMSettings.xml file, and these are the values used when the executable is triggered (or run) without other command-line options. The settings file is self-documented, and the matching command-line options are available using FnmpADDMStage -h option.

When the executable writes XML files to (or reads them from) the local disk on the staging server, the files include the following (details are available in FnmpADDMSettings.xml):
Filename Content

Details for each cluster.

ClusterHost.xml Computers (host nodes) that are members of a cluster, including a key to the Cluster node to identify that cluster.
CPUInformationDetail.xml Details of computer processors.

Raw installer evidence gathered by BMC Discovery from the installer technologies supported by each operating system.


A report of particular services, used to help identify capabilities of hosts. This includes the VMMS service used to identify Windows machines with the Hyper-V role enabled.


Raw results from BMC Discovery querying the list of virtual machines on a virtualization host.


File evidence produced by the Flexera.FNMP.InventoryRawData.FileEvidence pattern, covering software tag files and Windows executables.


Name and size of all local file systems, used to approximate the total disks and storage of host.


Hardware details produced by the Flexera.FNMP.InventoryRawData.UnixHardwareEvidence pattern, using information gathered by the FlexNet inventory agent.


Details of all hosts known by BMC Discovery including their host name, operating system details, unique identification, processor, memory, and other hardware details.


Raw host details not represented in a Host node, mainly the raw LPAR information from an IBM AIX LPAR environment.


Processor details for systems that are a container for hosts. For example, a container is a device partitioned into a number of logical hosts.

InstallerEvidenceDetail.xml Installation evidence gathered using the patterns in the BMC Discovery adaptor, including evidence from installations by Install Anywhere and InstallShield Multi-platform.
LastLoggedOnUserDetail.xml Details of the last logged-on user for Windows systems. (There is no equivalent data available for UNIX-like systems.)

The IP and MAC addresses of each network interface, used to build a list of these addresses for each host.

Note: ADDM 9.0 introduced the IPAddress nodes which cover both IPv4 and IPv6. Prior to that, the IPv4 IP address was in the NetworkInterface node. This query checks both of these sources.

Software installations identified by BMC Discovery's pattern language. BMC Discovery queries various properties such as processes and files of a host to determine which software is installed and its version.

SoftwareInstanceVirtual Machine.xml

These SoftwareInstance nodes are used to represent virtual machines on a host. These records are typically only created when the virtual machine is running.

FlexNet Manager Suite (On-Premises)

2022 R1