When a user connects or reconnects to a remote desktop, Horizon Client gathers information about the client system and Connection Server sends that information to the remote desktop.

Horizon Agent writes the client computer information to the system registry path HKCU\Volatile Environment on remote desktops that are deployed on single-user machines. For remote desktops that are deployed in RDS sessions, Horizon Agent writes the client computer information to the system registry path HKCU\Volatile Environment\x, where x is the session ID, on the RDS host.

If Horizon Client is running inside of a remote desktop session, it sends the physical client information instead of the virtual machine information to the remote desktop. For example, if a user connects from their client system to a remote desktop, launches Horizon Client inside the remote desktop and connects to another remote desktop, the IP address of the physical client system is sent to the second remote desktop. This feature is referred to as nested mode or a double-hop scenario. Horizon Client sends ViewClient_Nested_Passthrough, which is set to 1, along with the client system information to indicate that it is sending nested mode information.

Note: With Horizon Client 4.1, client system information is passed to the second-hop desktop on the initial protocol connection. With Horizon Client 4.2 and later, client system information is also updated if the first-hop protocol connection disconnects and reconnects.

You can add commands to the Horizon Agent CommandsToRunOnConnect, CommandsToRunOnReconnect, and CommandsToRunOnDisconnect group policy settings to run commands or command scripts that read this information from the system registry when users connect and reconnect to desktops. See Running Commands on Horizon Desktops for more information.

Client System Information describes the registry keys that contain client system information and lists the types of desktops and client systems that support them. If Yes appears in the Supports Nested Mode column, it indicates that physical client information (rather than virtual machine information) is sent to a second-hop desktop.
Note: The entries in the table appear in the registry only if they are configured.
Table 1. Client System Information
Registry Value Description Supports Nested Mode Supported Desktops Supported Client Systems
ViewClient_IP_Address The IP address of the client system. Yes VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_MAC_Address The MAC address of the client system. Yes VDI (single-user machine)

RDS

Windows, Linux, Mac, Android
ViewClient_Machine_Name The machine name of the client system. Yes VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Machine_Domain The domain of the client system. Yes VDI (single-user machine)

RDS

Windows, Windows Store
ViewClient_LoggedOn_Username The user name that was used to log in to the client system. VDI (single-user machine)

RDS

Windows, Linux, Mac
ViewClient_LoggedOn_Domainname The domain name that was used to log in to the client system. VDI (single-user machine)

RDS

Windows, Windows Store

For Linux and Mac clients, see ViewClient_Machine_Domain.ViewClient_LoggedOn_Domainname is not given by the Linux or Mac client because Linux and Mac accounts are not bound to Windows domains.

ViewClient_Type The thin client name or operating system type of the client system. Yes VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Broker_DNS_Name The DNS name of the Connection Server instance. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_URL The URL of the Connection Server instance as specified by the client or the previous gateway. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
Broker_Tags Restrict pools to be brokered by certain Connection Servers only. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
Broker_Pool_tags Restrict pools to be brokered by certain Connection Servers only. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_GatewayHost The value of the Host header in the request presented to the gateway. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_Gateway_IP_Address The IP address of the gateway. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_GatewayLocation Whether the gateway is handling internal or external connections. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_GatewayType If this is a Horizon-aware gateway, a code indicating its type. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_Tunneled The status of the tunnel connection for the Connection Server, which can be either true (enabled) or false (disabled). VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_Tunnel_URL The URL of the Connection Server tunnel connection, if the tunnel connection is enabled. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_Remote_IP_Address The IP address of the client system that is seen by the Connection Server instance. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_Request_Path All IP addresses, beginning with the public IP address of the client system that is seen by the Connection Server instance. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_TZID The Olson time zone ID.

To disable time zone synchronization, enable the Horizon Agent Disable Time Zone Synchronization group policy setting.

VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS
ViewClient_Windows_Timezone The GMT standard time.

To disable time zone synchronization, enable the Horizon Agent Disable Time Zone Synchronization group policy setting.

VDI (single-user machine)

RDS

Windows, Windows Store

ViewClient_Broker_DomainName Domain name used to authenticate to Connection Server. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Broker_UserName Username used to authenticate to Connection Server. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Client_ID Specifies the Unique Client HardwareId used as a link to the license key. VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Displays.Number Specifies the number of monitors being used on the client. VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Displays.Topology Specifies the arrangement, resolution, and dimensions of displays on the client. VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Keyboard.Type Specifies the type of keyboard being used on the client. For example: Japanese, Korean. VDI (single-user machine)

RDS

Windows
ViewClient_Launch_SessionType Specifies the session type. The type can be desktop or application. VDI (single-user machine)

RDS

Value is sent directly from Connection Server, not gathered by Horizon Client.
ViewClient_Mouse.Identifier Specifies the type of mouse. VDI (single-user machine)

RDS

Windows
ViewClient_Mouse.NumButtons Specifies the number of buttons supported by the mouse. VDI (single-user machine)

RDS

Windows
ViewClient_Mouse.SampleRate Specifies the rate, in reports per second, at which input from a PS/2 mouse is sampled. VDI (single-user machine)

RDS

Windows
ViewClient_Protocol Specifies the protocol being used. VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Language Specifies the operating system language. VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Launch_Matched_Tags Specifies one or more tags. VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Launch_ID Specifies the desktop or application pool Unique ID. VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Broker_Farm_ID Specifies the Farm ID of the desktop or application pool on an RDS host. RDS Windows, Linux, Mac, Android, iOS, Windows Store
ViewClient_Client_Version Specifies Horizon client version, in format {x.y.z}-{build_number} VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS
ViewClient_Keyboard.Subtype Specifies the keyboard subtype, a vendor-specific value VDI (single-user machine)

RDS

Windows, Linux, Mac
ViewClient_Displays.TopologyV2 Extended Displays.Topology to include Monitor DPI value as the last element. VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS
ViewClient_Displays.SystemDpi Specifies the client OS system DPI. VDI (single-user machine)

RDS

Windows, Linux, Mac, Android, iOS
Note: The definitions of ViewClient_LoggedOn_Username and ViewClient_LoggedOn_Domainname in Client System Information apply to Horizon Client for Windows.