You can use uniform resource identifiers (URIs) to create web page or email links that end users can click to start Horizon Client, connect to a server, or open a remote desktop or published application.
You create these links by constructing URIs that provide some or all the following information so that your end users do not need to supply it.
- Server address
- Port number for the server
- Active Directory user name
- Domain name
- Remote desktop or published application display name
- Window size
- Actions including reset, log out, and start session
- Display protocol
To construct a URI, you use the horizon-client URI scheme with Horizon Client specific path and query parts.
To use URIs to start Horizon Client, Horizon Client must already be installed on client computers.
Syntax for Creating horizon-client URIs
URI syntax includes the horizon-client URI scheme, a path part to specify the remote desktop or published application, and, optionally, a query to specify remote desktop or published application actions or configuration options.
URI Specification
When you create a URI, you are essentially calling horizon-client with the full path-and-query string as an argument.
Use the following syntax to create URIs to start Horizon Client.
horizon-client://[authority-part][/path-part][?query-part]
The only required element is the URI scheme, horizon-client. Because the scheme name is case-sensitive for some versions of some client operating systems, type horizon-client.
Important: In all parts, non-ASCII characters must first be encoded according to UTF-8 [STD63], and then each octet of the corresponding UTF-8 sequence must be percent-encoded to be represented as URI characters.
For information about encoding for ASCII characters, see the URL encoding reference at http://www.utf8-chartable.de/.
-
authority-part
The server address and, optionally, a user name, a non-default port number, or both. Underscores (_) are not supported in server names. Server names must conform to DNS syntax.
To specify a user name, use the following syntax.
user1@server-addressYou cannot specify a UPN address, which includes the domain. To specify the domain, you can use the domainName query part in the URI.
To specify a port number, use the following syntax.
server-address:port-number -
path-part
The display name of the remote desktop or published application. The display name is specified in Omnissa Horizon Console when the desktop pool or application pool is created. If the display name contains a space, use the
%20encoding mechanism to represent the space.Alternatively, you can specify a desktop or application ID, which is a path string that includes the desktop or application pool ID. To find a desktop or application ID, open ADSI Edit on the Omnissa Horizon Connection Server host, navigate to the appropriate
DClocation, and select theOU=Applicationsnode. All the desktop and application pools are listed. ThedistinguishedNameattribute specifies the ID value. You must encode the ID value before you specify it in a URI.Note: More than one remote desktop or published application can have the same display name, but the desktop and application ID is unique. To specify a particular remote desktop or published application, use the desktop or application ID rather than the display name.
-
query-part
The configuration options to use, or the remote desktop or published application actions to perform. Queries are not case-sensitive. To use multiple queries, use an ampersand (&) between the queries. If the queries conflict, Horizon Client uses the last query in the list. Use the following syntax.
query1=value1[&query2=value2...]
Supported Queries
The following queries are supported for this type of Horizon Client. If you are creating URIs for multiple types of clients, such as desktop clients and mobile clients, see the guide document for each type of client system for the list of supported queries.
-
action
The following values can be used with the action query.Value Description browse Displays a list of available remote desktops and published applications hosted on the specified server. You are not required to specify a remote desktop or published application when using this action. start-session Opens the specified remote desktop or published application. If no action query is provided and the remote desktop or published application name is provided, start-session is the default action. reset Shuts down and restarts the specified remote desktop or published application. Unsaved data is lost. Resetting a remote desktop is the same as pressing the Reset button on a physical PC. restart Shuts down and restarts the specified remote desktop. Restarting a remote desktop is the same as the Windows operating system restart command. The operating system usually prompts the user to save any unsaved data before it restarts. logoff Logs the user out of the guest operating system in the remote desktop. If you specify a published application, the action is ignored or the end user sees the warning message "Invalid URI action." -
args
Specifies command-line arguments to add when the published application starts. Use the syntax
args=value, where value is a string. Use percent encoding for the following characters:- For a colon (:), use
%3A - For a back slash (\), use
%5C - For a space ( ), use
%20 - For a double quotation mark ("), use
%22For example, to specify the filename"My new file.txt"for the Notepad++ application, use%22My%20new%20file.txt%22.
- For a colon (:), use
-
appProtocol
For published applications, valid values are
PCOIPandBLAST. For example, to specify PCoIP, use the syntaxappProtocol=PCOIP. -
desktopLayout
Sets the size of the remote desktop window. To use this query, you must set the
actionquery tostart-sessionor not have anactionquery.The following values can be used for the desktopLayout query.
Value Description fullscreen Full screen on one monitor. This value is the default. multimonitor Full screen on all monitors. windowLarge Large window. windowSmall Small window. WxH Custom resolution, where you specify the width by height, in pixels. An example of the syntax is desktopLayout=1280x800. -
desktopProtocol
For remote desktops, valid values are
PCOIPandBLAST. For example, to specify PCoIP, use the syntaxdesktopProtocol=PCOIP. -
domainName
Specifies the NETBIOS domain name associated with the user who is connecting to the remote desktop or published application. For example, you might use
mycompanyrather thanmycompany.com. -
launchMinimized
Starts Horizon Client in minimized mode. The Horizon Client window remains minimized and hidden in the background while the user-specified remote desktop or published application starts. The syntax is
launchMinimized=true. The default value isfalse. -
useExisting
Setting the -useExisting parameter enables you to control whether multiple Horizon Client instances can run simultaneously. When you set this parameter, Horizon Client maintains a single instance by prompting to close any existing session before starting the new one.
When the -useExisting parameter is set, you'll get an indicator to use a single instance of the client. A message displays to log off from the existing instance. Then once accepted, the new one opens up.
When the -useExisting parameter is not set, a new instance of the client opens.
Example:
<IP>?useExisting=trueor<IP>?useExisting=falseInsert your specified IP where IP is displayed. -
unauthenticatedAccessEnabled
- If this option is set to
true, the Unauthenticated Access feature is activated. The File > Unauthenticated Access setting is visible in the user interface and is selected. - If this option is set to
false, the Unauthenticated Access feature is deactivated. The File > Unauthenticated Access setting is visible in the user interface and is deselected. - If this option is set to
"", the Unauthenticated Access feature is deactivated and the File > Unauthenticated Access setting is visible in the user interface and is deselected. An example of the syntax isunauthenticatedAccessEnabled=true.
- If this option is set to
-
unauthenticatedAccessAccount
If the Unauthenticated Access feature is activated, sets the account to use. If Unauthenticated Access is deactivated, then this query is ignored. An example of the syntax using the
anonymous1user account isunauthenticatedAccessAccount=anonymous1.
Examples of horizon-client URIs
You can use the horizon-client URI scheme to create hypertext links or buttons and include these links in email or on a Web page. For example, an end user can click a URI link to start a remote desktop with the startup options that you specify.
Each URI example is followed by a description of what the end user sees after clicking the URI link.
-
horizon-client://horizon.mycompany.com/Primary%20Desktop?action=start-sessionHorizon Client starts and connects to the
horizon.mycompany.comserver. The login dialog box prompts the user for a user name, domain name, and password. After a successful login, the client connects to the remote desktop that has the display namePrimary Desktop, and the user is logged in to the guest operating system.Note: In this example, the default display protocol and window size are used. The default display protocol is PCoIP and the default window size is full screen.
You can change the defaults. See Using the horizon-client Command-Line Interface and Configuration Files.
-
horizon-client://horizon.mycompany.com:7555/Primary%20DesktopThis URI has the same effect as the previous example, except that it uses the nondefault port of 7555 for the Horizon Connection Server instance. (The default port is 443.) Because a remote desktop identifier is provided, the remote desktop opens, even though the
start-sessionaction is not included in the URI. -
horizon-client://fred@horizon.mycompany.com/Finance%20Desktop?desktopProtocol=PCOIPHorizon Client starts and connects to the
horizon.mycompany.comserver. In the login dialog box, the User name text box is populated withfred. The user must supply the domain name and password. After a successful login, the client connects to the remote desktop that has the display nameFinance Desktop, and the user is logged in to the guest operating system. The connection uses the PCoIP display protocol. -
horizon-client://horizon.mycompany.com/Calculator?action=start-session&appProtocol=BLASTHorizon Client starts and connects to the
horizon.mycompany.comserver. In the login dialog box, the user must supply the user name, domain name, and password. After a successful login, the client connects to the published application that has the display nameCalculator. The connection uses the Omnissa Horizon Blast display protocol. -
horizon-client://fred@horizon.mycompany.com/Finance%20Desktop?domainName=mycompanyHorizon Client starts and connects to the
horizon.mycompany.comserver. In the login dialog box, the User name text box is populated withfred, and the Domain text box is populated withmycompany. The user must supply only a password. After a successful login, the client connects to the remote desktop that has the display nameFinance Desktop, and the user is logged in to the guest operating system. -
horizon-client://horizon.mycompany.com/Horizon Client starts and the user is taken to the login prompt for connecting to the
horizon.mycompany.comserver. -
horizon-client://horizon.mycompany.com/Primary%20Desktop?action=resetHorizon Client starts and connects to the
horizon.mycompany.comserver. The login dialog box prompts the user for a user name, domain name, and password. After a successful login, Horizon Client resets the specified desktop.Note: This action is available only if an administrator has activated the reset feature for the remote desktop.
-
horizon-client://horizon.mycompany.com/Primary%20Desktop?action=restartHorizon Client starts and connects to the
horizon.mycompany.comserver. The login dialog box prompts the user for a user name, domain name, and password. After a successful login, Horizon Client restarts the specified desktop.Note: This action is available only if an administrator has activated the restart feature for the remote desktop.
-
horizon-client://Horizon Client starts and the user is taken to the page for entering the address of a server.
-
horizon-client://10.10.10.10/My%20Notepad++?args=%22My%20new%20file.txt%22Starts My Notepad++ on server 10.10.10.10 and passes the argument
My new file.txtin the published application start command. The filename is enclosed in double quotes because it contains spaces. -
horizon-client://10.10.10.10/Notepad++%2012?args=a.txt%20b.txtStarts Notepad++ 12 on server 10.10.10.10 and passes the argument
a.text b.txtin the published application start command. Because the argument is not enclosed in quotes, a space separates the filenames and the two files are opened separately in Notepad++.Note: Published applications can differ in the way that they use command-line arguments. For example, if you pass the argument
a.txt b.txtto WordPad, WordPad opens only one file,a.txt. -
horizon-client://horizon.mycompany.com/Notepad?unauthenticatedAccessEnabled=true&unauthenticatedAccessAccount=anonymous1Horizon Client starts and connects to the
horizon.mycompany.comserver using theanonymous1user account. The Notepad application starts without prompting the user to provide login credentials.
HTML Code Examples
You can use URIs to make hypertext links and buttons to include in emails or on Web pages. The following examples show how to use the URI from the first URI example to code the hypertext link labeled Test Link and a button labeled TestButton.
<html>
<body>
<a href="horizon-client://horizon.mycompany.com/Primary%20Desktop?action=start-session">Test Link</a><br>
<form><input type="button" value="TestButton" onClick="window.location.href=
'horizon-client://horizon.mycompany.com/Primary%20Desktop?action=start-session'"></form> <br>
</body>
</html>
Was this page helpful?