Use conditions to control when and whether User Environment Manager performs certain actions.

Conditions can be applied to Flex configuration files, user environment settings, and application migration. You can use multiple conditions in various combinations, create condition groups, and import and export condition sets.

Note:
  • Regarding conditions on triggered tasks, User Environment Manager evaluates conditions on triggered task settings when it processes the settings themselves, not when it performs the resulting actions after the triggers occur.
  • Regarding conditions that provide regular-expression support, use the Matches regex option to configure regular expressions. Regular expressions are matched case-insensitively using the ECMAScript regular expression grammar and are not implicitly anchored.
You can use the following conditions:
Option Description
Active Directory Site Name Checks if the computer's Active Directory site name matches the specified value.
Battery Checks whether the computer has a battery or is running on battery.
Day of the Week

Checks which day of the week it is.

Endpoint IP Address Checks whether the endpoint IP address is in the specified range. Empty text boxes at the start of the range are interpreted as 0, and the ones at the end as 255.
Endpoint Name Checks if the endpoint name matches the specified criterion.
Environment Variable Checks whether the specified environment variable matches the specified criterion. The comparison is not case-sensitive.
Endpoint Platform Checks whether the endpoint platform matches the specified platform.
  • Blast/PCoIP: The available platforms are Android, Chrome ARC++, Chrome Native, iOS, Linux, Mac, Web, Windows, and Windows Store.
  • ICA: The available platforms are Android, Blackberry, Blackberry Playbook, iOS, Java, Mac, UNIX/Linux, Web, Windows, Windows CE, Windows Phone, and Windows Store.
Exit Code

Runs the specified command, and compares the exit code with the specified value. The command can contain environment variables and supports the 32-bit path logic.

The command does not display any UI, as there is no way for the user to interact with it. If no timeout is specified, FlexEngine waits indefinitely for the command to finish. If the command never finishes, FlexEngine stops responding.

File or Folder Checks if the specified file or folder exists. The specified path can be a directory or filename, and the last component of the path can contain wildcards. The path can contain environment variables, and supports the 32-bit path logic. When creating a File or Folder condition for a file type association or shortcut, the path is automatically set to the corresponding text box of the user environment setting.
File Version Checks the file version or product version of the specified file. This is usually a .EXE file, but any file with a version resource can be used. The filename can contain environment variables, and supports the 32-bit path logic. When creating a File Version condition for a file type association or shortcut, the filename is automatically set to the corresponding text box of the user environment setting. To perform an exact version comparison, specify all four components of the version number. For a partial comparison, leave out the less significant ones.
Group Membership Checks if the computer or the user is a member of the specified group. The browse functionality is only available on domain-joined computers. Using Browse to select a group also stores the group SID in the condition, which FlexEngine can use for certain fallback scenarios, such as working offline.
Horizon Client Property Checks whether the specified Horizon Client property matches the specified criterion. The comparison is not case-sensitive. The Property drop-down menu contains three common properties. You can also enter the property name. The property name must be specified without the ViewClient_ prefix. These property names correspond with the names of ViewClient_ registry settings.
Note: The Horizon Client Property condition can only be used for PCoIP or VMware Blast Extreme connections.
IP Address Checks whether one of the network adapters has an IP address in the specified range. Empty text boxes at the start of the range are interpreted as 0, and the ones at the end as 255.
Operating System Checks the operating system of the system on which FlexEngine is running.

The Linux entry in the Operating System condition is for Horizon smart policies on Linux desktops. See the information about using smart policies in the corresponding documentation, such as Setting Up Horizon 7 for Linux Desktops.

Operating System Architecture Checks the architecture of the operating system FlexEngine is running on.
Organizational Unit Checks if the computer or user is a direct or indirect member of the specified organizational unit. The browse functionality is only available on domain-joined computers. The Ignore domain option can be useful in DTAP scenarios, where you create your configuration in one domain and deploy it in another domain, while maintaining the same OU structure.
Registry Key Checks if the specified registry key exists in the selected registry hive.
Registry Value Checks if the specified registry value matches the specified criterion. If the name is empty, the default value is selected.
Remote Display Protocol Checks the remote display protocol for the current session.
Time Range

Checks if the current time fits in the selected time range.

Note: When a Horizon session disconnects, the Endpoint IP Address, Endpoint Name, Endpoint Platform, Horizon Client Property, and Remote Display Protocol conditions might not work. When a Citrix ICA session disconnects, the Endpoint IP Address, Endpoint Name, and Endpoint Platform conditions might not work.