XenApp Server Agent Command Line Options

FlexNet Manager Suite 2022 R2 (On-Premises)

XenApp server agent (FnmpXenAppAgent.exe) is a command line tool which runs regularly on a Citrix XenApp server (for Citrix Virtual Apps) to determine which end-users have the right to run applications through that server. The data it collects is sent back to FlexNet Manager Suite and processed further once the inventory import process runs. Here are the details for manual operation from the command line, or configuring a scheduled task.

FnmpXenAppAgent.exe [options...]

Options

-d connection
-f site_name_override
-h
-i true/false
-pass password
-o output_file
-r true/false
-s servers
-t timeout
-url beacon_address
-user username

-v 0|1

where

Type Description
-d connection A database connection string to your staging database. Refer to http://www.connectionstrings.com/sql-server-2008 for some examples. If you do not have a staging database but connect directly to your central compliance database, create the connection string for that database.
Note: Do not use more than one of the -d option, the -o option, and the -url option at the same time.
-f site_name_override Force an override of the default Citrix Virtual Apps farm/site name.
-h Displays usage for the XenApp server agent.
-i true/false (Default false.) Ignore errors. Used only for debugging purposes so that the adapter runs end-to-end and logs all issues in the log file (in the same directory as the agent executable).
-pass password The password for the account used for data upload to an inventory beacon.
Note: This option is used in conjunction with the -user and -url options. If you do not specify the -pass option, the credentials for the account running the XenApp server agent are used.
-o output_file The full path of a file to store the output of the XenApp server agent as it runs. Use such an output file for debugging purposes, to see the content collected by the agent. The output file is not required for normal operations (the collected data is uploaded directly to the staging database).
Note: Do not use more than one of the -d option, the -o option, and the -url option at the same time.
-r true/false
Option only for Citrix XenApp 7.5 (or later) or Citrix Virtual Apps 7.1808 (or later). Values may be:
  • false - (default) Disable remote registry environment variable resolution, and enable local variable resolution on the XenApp server.
  • true - Direct the XenApp server agent to remotely read the Windows registry on the Citrix Virtual Apps client machine, using values there to resolve environment variables embedded in file paths.
As background, when a file path in Citrix contains a Windows environment variable (for example, %ProgramFiles%), the variables can have different values on the server and on the client device. This switch lets you choose the value that is resolved locally on the XenApp server, or choose the environment variables remotely read from the registry of the Citrix Virtual Apps client device.

Resolving environment variables using this command requires both of the following:

  • The Remote Registry service must be started (status of Running) on the client machine in order to resolve remote environment variables
  • The account executing the XenApp server agent must exist on the Citrix Virtual Apps client machine to properly resolve environment variables using this command.
-s servers

Option only for Citrix XenApp 7.5 (or later) or Citrix Virtual Apps 7.1808 (or later). For both 6.5 (which does not support this option) and 7.5 or later (where the option may be omitted), the XenApp server agent assumes that it is running on the XenApp server from which it is to collect inventory. In both systems, therefore, you may handle multiple XenApp servers by installing the XenApp server agent on each one. When the agent is installed locally on the XenApp server from which it gathers inventory, omit this option.

In Citrix XenApp 7.5 (or later) or Citrix Virtual Apps 7.1808 (or later), you have the option for a XenApp server agent installed on a single XenApp server to collect the inventory for all XenApp servers in a server farm. To do this, create a comma-separated list of fully-qualified domain names or IP addresses for all the servers from which this agent should collect inventory. Inside such a list, use the keyword localhost to include the server on which the XenApp server agent is installed.
Note: The account executing the XenApp server agent must have permissions to connect to each of the servers named in your list.
-t timeout The timeout period (in seconds) when connecting to the staging database (default 600 seconds). If the timeout expires, the upload fails, and the data collected from the XenApp servers on this occasion is lost. An entry is made in the log file (in the same directory as the agent executable) to record the failed connection.
-url beacon_address The URL of the inventory beacon where the XenApp server agent uploads collected data.
Note: Do not use more than one of the -d option, the -o option, and the -url option at the same time.
Note: This option is used in conjunction with the -pass and -user options. If you do not specify the -pass and -user options, the credentials for the account running the XenApp server agent are used.
-user username The username on the inventory beacon, the account which allows data upload to the inventory beacon.
Note: This option is used in conjunction with the -pass and -url options. If you do not specify the -user option, the credentials for the account running the XenApp server agent are used.
-v 0|1 (Default 1). Sets logging messages to verbose mode. For less information, specify -v 0.

Examples

The following examples are split across several lines for readability. Run each example on a single command line.

The examples depend on which form of authentication you have chosen to use:
  • Windows Authentication, using a Windows (Active Directory) account that is recognized by the SQL Server hosting your staging database
  • A separate SQL Server account specified in the database connection string.
(You decided on your approach in Installing the XenApp Server Agent.) These two approaches are mutually exclusive, so each example applies to one or the other, but not both.
Use Windows Authentication (for the account running the scheduled task, or the command line) to connect to the staging database with a ten minute (600 second) timeout:
FnmpXenAppAgent.exe 
        -d "Server=192.168.13.38;Database=MyStaging;Trusted_Connection=yes"
        -t=600 
Using SQL Server authentication, identify a particular user name and password to connect to the staging database:
FnmpXenAppAgent.exe 
        -d "Data Source=192.168.13.38;Initial Catalog=MyStaging; User
                        ID=accountName;Password=password"
Using Windows Authentication (with the relevant account known to both SQL Server hosts) to collect inventory in XenApp 7.5 (or later) or Citrix Virtual Apps 7.1808 (or later) from two servers, saving the collected data in an XML file for debugging purposes:
FnmpXenAppAgent.exe 
          -s "localhost, xda01.fqdn.com"
        -o "c:\XenAppTest.xml"
Have the XenApp server agent upload collected data to an inventory beacon:
FnmpXenAppAgent.exe 
        -url http://beacon01.example.com -user beaconAccountName -pass password

FlexNet Manager Suite (On-Premises)

2022 R2