ndtrack Command Line

FlexNet Manager Suite 2022 R1 (On-Premises)

This is the command line reference for the tracker (the executable ndtrack). There is large overlap between use of the tracker in all its use cases, and specifically between the FlexNet inventory agent case and the FlexNet Inventory Scanner case. For this reason, variations are noted below, and you should use this reference for all cases.

Synopses

FlexNet inventory agent on Microsoft Windows:
ndtrack.exe [options...]
  
FlexNet Inventory Scanner on Microsoft Windows:
FlexeraInventoryScanner.exe [options...]

FlexNet inventory agent on UNIX-like platforms:
ndtrack [options...]

FlexNet Inventory Scanner on UNIX-like platforms:
ndtrack.sh [options...]

Options:

-o tag = "value"
-t Machine

Note: The -t Machine option is mandatory for, and valid only for, a single use case: when you are running FlexNet inventory agent on Microsoft Windows from a user account other than the local SYSTEM account.
  • On UNIX-like platforms, it is always ignored.
  • When running the lightweight FlexNet Inventory Scanner on Microsoft Windows, it is the default value and must not be specified in the command line.
  • When executing ndtrack.exe on Microsoft Windows:
    • As the local SYSTEM account, it is the default.
    • As any other account, it must be specified.
Any parameters declared on the command line override the default tracker settings. (On UNIX-like platforms in the FlexNet Inventory Scanner case [using ndtrack.sh], command-line parameters override both the default settings and any preferences recorded in ndtrack.ini.)
Tip: The command line is processed left-to-right. This means that, where overlapping parameters are declared within the command line, the last one declared takes effect. For example:
FlexeraInventoryScanner.exe -o Upload="false" -o Upload="true"
means that upload of collected inventory is attempted. In general, do not repeat any individual tag within the command line.
Possible tags are listed below (and see also the notes). Double quotation marks enclosing values are optional, except in the following cases where they are mandatory:
  • Surrounding any value that includes white space
  • Surrounding a list with internal semi-colon separators
  • On Windows platforms using the FlexeraInventoryScanner executable, where Upload="true" is mandatory for normal operation, and the value must be enclosed in double quotation marks.
In general, special characters (double quotation marks, backslash) must be escaped with a backslash. However, ndtrack (alone of all the components documented in this chapter) adds special conditions:
  • A backslash within a recognized file path need not be escaped.
  • Avoid a backslash as the last character in a longer string enclosed in double quotation marks. For example, this option on an ndtrack command line fails:
    -o ExcludeDirectory="D:\;E:\;F:\;G:\"
    Here the final backslash-quote sequence is problematic. A general workaround is to insert a semicolon (";" which is the list separator character, usable only in the command line but not in PowerShell) between the backslash and double quotation mark. All of the following examples are successful:
    -o ExcludeDirectory="D:\;E:\;F:\;G:\;" // closing semi-colon avoids the problem
    -o ExcludeDirectory="D:\;" // works for a single item, as well as a list
    -o IncludeDirectory="\\" // short string also works, but beware huge inventory!
    -o IncludeDirectory=\\ // also works without quotes (but not for ExcludeDirectory)
    Tip: When troubleshooting exclusions, don't overlook the interaction between ExcludeDirectory and ExcludeEmbedFileContentDirectory.
  • You are unlikely to meet these problems on UNIX-like platforms, as the forward slash need not be escaped.

Return codes

The tracker returns a zero on success. If you receive a non-zero return code, check the log file. Details of the log file may also be configured with command-line options, as described in the section on Preferences:

Command line examples

This example collects a computer inventory and stores it locally (on the computer device where the FlexNet inventory agent is executing) for upload by a separate system (assuming execution by a non-LocalSystem account):
ndtrack.exe 
          -t Machine 
          -o MachineZeroTouchDirectory="local-folder" 
          -o Upload=False
Tip: An additional inventory (.ndi) file may be generated when all of the following conditions are true:
  • You have licensed the FlexNet Manager for Datacenters product.
  • The invoking account is correctly configured (for details, see the Oracle Discovery and Inventory chapter of the FlexNet Manager Suite System Reference PDF).
  • Your current InventorySettings.xml file is correctly located for the tracker. Correct location depends on the particular case:
    • For the Adopted case and Agent third-party deployment case, in the folder identified in the InventorySettingsPath preference (defaults are $(CommonAppDataFolder)\ManageSoft Corp\ManageSoft\Tracker\InventorySettings\ on Windows and /var/opt/managesoft/tracker/inventorysettings on UNIX-like platforms). This is handled automatically for devices where the installed agent is managed by policy.
    • For the FlexNet Inventory Scanner case, in the same folder as the self-installing executable on Windows or the ndtrack.sh script for UNIX-like platforms,
    • For the Core deployment case, deployed into the same folder as the ndtrack executable.
  • An Oracle Database is found on the target (local) device.
The following example collects inventory and uploads it to an inventory beacon (assuming execution by the LocalSystem account). ManageSoftRL is the name of a web service on the inventory beacon that receives the uploaded inventory and saves it by default to %CommonAppData%\Flexera Software\Incoming\Inventories:
ndtrack.exe -o UploadLocation="http://InventoryBeacon/ManageSoftRL"
Same purpose on a UNIX-like platform:
ndtrack -o UploadLocation="http://InventoryBeacon/ManageSoftRL"
Same purpose using FlexNet Inventory Scanner on Microsoft Windows (for this executable on this platform, the -o Upload="true" option, including the use of the double quotation marks, is mandatory):
FlexeraInventoryScanner.exe 
    -o UploadLocation="http://InventoryBeacon/ManageSoftRL" 
    -o Upload="true"
And same purpose using ndtrack.sh as a scanner on UNIX-like platforms:
ndtrack.sh -o UploadLocation="http://InventoryBeacon/ManageSoftRL"
The following command line is used for high-frequency (30 minute) hardware scanning when FlexNet Manager Suite is used for subcapacity license calculations for IBM PVU licenses:
ndtrack.exe -o WMI=true 
            -o Hardware=true 
            -o ManageSoftPackages=false 
            -o MSI=false 
            -o PlatformSpecificPackages=false 
            -o Software=false 
            -o TrackProductKey=false 
            -o IncludeRegistryKey= 
            -o IncludeDirectory=
            -o EmbedFileContentDirectory= 
            -o OnlyGenerateIfHardwareChanged=true 
            -o PerformSymantecSFScan=false 
            -o PerformIBMWebSphereMQScan=false 
            -o InventorySettingsPath="

Notes

  1. Default values apply when a parameter is not specified.
  2. If no drive is indicated when specifying directory paths, the tracker applies the path to every fixed drive of the local computer.
  3. The tracker supports all name/value combinations as command-line options, although a warning is logged if a preference is used that does not appear in the list below.
  4. A preference value can symbolically refer to another supported preference by enclosing its name thus: $(preferenceName). References can contain further references.
    Example: The command
    ndtrack.exe -o IncludeDirectory=$(WinDirectory)
    includes the Windows directory in the scan (which is likely to produce a massive increase in file evidence!). References are resolved after all preferences are loaded so there are no ordering issues. Self-evidently, on UNIX-like platforms, only supported preferences can be referenced.
  5. Semicolon or comma-separated values are the only method for defining multiple values in preferences for the tracker. (Do not repeat any individual tag within the command line.)
    Example: The command
    ndtrack.exe -o IncludeDirectory=C:\\;D:\\;E:\\
    will scan the computer’s C:, D:, and E: drives if they are fixed (hard) disks, but not if they are CD-ROM drives or logical drives (mapped to network locations).
  6. To activate all logging, use the default preferences as follows:
    Logging=true
    LogLevel=A-Z
    LogFile=<file>
    LogModules=default

Options

Supported options are listed in the table below. A "Y" in columns 2-5 indicate support in:
  • The full FlexNet inventory agent on Microsoft Windows, where preferences may also be included in the Windows registry (these same command-line settings may also be used if you have deployed just the FlexNet inventory core components in the Core deployment case, but in this case there is no checking of the Windows registry)
  • The full FlexNet inventory agent on UNIX-like platforms (where preferences may also be included in the config.ini file)
  • The lightweight FlexNet Inventory Scanner on Microsoft Windows (preferences can only be used in the command line)
  • The scanner equivalent ndtrack.sh on UNIX-like platforms (where preferences may also be included in the ndtrack.ini file).
Possible tags for use with the -o options are:
Preference Windows full agent UNIX ndtrack Windows Scanner UNIX ndtrack.sh
AddClientCertificateAndKey   Y    
CALInventory

Y

Y

CALInventoryPeriod

Y

Y

CheckCertificateRevocation

Y

Y

Y

 
CheckServerCertificate

Y

Y

Y

 
ComputerDomain

Y

Y

Y

Y

DateTimeFormat

Y

Y

Y

Y

EmbedFileContentDirectory

Y

Y

Y

Y

EmbedFileContentExtension

Y

Y

Y

Y

EmbedFileContentMaxSize

Y

Y

Y

Y

ExcludeDirectory

Y

Y

Y

Y

ExcludeEmbedFileContentDirectory

Y

Y

Y

Y

ExcludeExtension

Y

Y

Y

Y

ExcludeFile

Y

Y

Y

Y

ExcludeLocalScriptRule Y Y Y Y
ExcludeMD5

Y

Y

Y

Y

GenerateMD5

Y

Y

Y

Y

Hardware

Y

Y

Y

Y

IncludeDirectory

Y

Y

Y

Y

IncludeExecutables

Y

Y

Y

Y

IncludeExtension

Y

Y

Y

Y

IncludeFile

Y

Y

Y

Y

IncludeMachineInventory

Y

Y

IncludeLocalScriptRule Y Y Y Y
IncludeMD5

Y

Y

Y

Y

IncludeRegistryKey

Y

Y

InventoryFile

Y

Y

Y

Y

InventoryScriptsDir

Y

Y

Y

Y

LogFile (inventory component)

Y

Y

Y

Y

LogLevel (inventory component)

Y

Y

Y

Y

LogModules (inventory component)

Y

Y

Y

Y

LowProfile (inventory component)

Y

Y

Y

Y

MachineInventoryDirectory

Y

Y

MachineName

Y

Y

Y

Y

MachineZeroTouchDirectory

Y

MSI

Y

Y

Y

Y

NetworkHighSpeed

Y

Y

Y

Y

NetworkHighUsage

Y

Y

Y

Y

NetworkHighUsageLowerLimit

Y

Y

Y

Y

NetworkHighUsageUpperLimit

Y

Y

Y

Y

NetworkLowUsage

Y

Y

Y

Y

NetworkLowUsageLowerLimit

Y

Y

Y

Y

NetworkLowUsageUpperLimit

Y

Y

Y

Y

NetworkMaxRate

Y

Y

Y

Y

NetworkMinSpeed

Y

Y

Y

Y

NetworkSense

Y

Y

Y

Y

NetworkSpeed

Y

Y

Y

Y

OracleEnvironmentCmdTimeoutSeconds

Y

Y

OracleInventoryAsSysdba

Y

Y

OracleInventoryUser

Y

Y

PerformKvmInventory   Y   Y
PerformLocalScripting Y Y Y Y
PerformOracleFMWScan Y Y Y Y
PerformOracleInventory

Y

Y

Y

Y

PerformOracleListenerScan

Y

Y

Y

Y

PreferIPVersion Y Y Y Y
PrioritizeRevocationChecks

Y

Y

ProgramFiles, ProgramFilesX86Folder, ProgramFilesX64Folder

Y

Y

Recurse

Y

Y

Y

Y

RunInventoryScripts

Y

Y

ShowIcon (inventory component)

Y

Y

SSLCACertificateFile

Y

SSLCACertificatePath

Y

SSLClientCertificateFile   Y    
SSLClientPrivateKeyFile   Y    
SSLCRLCacheLifetime

Y

SSLCRLPath

Y

SSLDirectory

Y

SSLOCSPCacheLifetime

Y

SSLOCSPPath

Y

SysDirectory

Y

Y

UploadLocation

Y

Y

Y

Y

VersionInfo

Y

Y

WinDirectory

Y

Y

WMI

Y

Y

WMIConfigFile.

Y

Y

Upload (note separate defaults)

Y

Y

Y

Y

FlexNet Manager Suite (On-Premises)

2022 R1