您可以使用统一资源标识符 (Uniform Resource Identifier, URI) 创建网页或电子邮件链接,最终用户可以单击这些链接启动 Horizon Client、连接到服务器,或者打开远程桌面或已发布的应用程序。
通过构建提供以下部分或所有信息的 URI 来创建链接,这样最终用户就无需再提供它。
- 服务器地址
- 服务器的端口号
- Active Directory 用户名
- 域名
- 远程桌面或已发布应用程序的显示名称
- 窗口大小
- 操作,包括重置、注销和启动会话
- 显示协议
要构建 URI,可使用包含 Horizon Client 特定路径和查询部分的 horizon-client URI 方案。
要使用 URI 启动 Horizon Client,必须已在客户端计算机上安装 Horizon Client。
用于创建 horizon-client URI 的语法
URI 语法包括 horizon-client URI 方案、用于指定远程桌面或已发布应用程序的路径部分,以及可选的用于指定远程桌面或已发布应用程序操作或配置选项的查询。
URI 规范
创建 URI 时,实际是将完整的 path-and-query 字符串作为参数来调用 horizon-client。
使用以下语法来创建用于启动 Horizon Client 的 URI。
horizon-client://[authority-part][/path-part][?query-part]
只有 URI 方案 horizon-client 是必需的元素。由于对于某些客户端操作系统的某些版本,方案名称区分大小写,因此请键入 horizon-client。
**重要信息:**在所有部分中,必须先根据 UTF-8 [STD63] 对非 ASCII 字符进行编码,然后必须对相应 UTF-8 序列的每个八进制数进行百分比编码,以将其表示为 URI 字符的形式。
有关 ASCII 字符编码的信息,请参阅 http://www.utf8-chartable.de/ 上的 URL 编码参考。
-
authority-part
服务器地址和/或用户名(可选)及非默认端口号。服务器名称中不能使用下划线 (_)。服务器名称必须遵循 DNS 语法。
要指定用户名,请使用以下语法。
user1@server-address您不能指定包含域的 UPN 地址。要指定域,可以使用 URI 中的 domainName 查询部分。
要指定端口号,请使用以下语法。
server-address:port-number -
path-part
远程桌面或已发布应用程序的显示名称。该显示名称是在 Omnissa Horizon Console 中创建桌面池或应用程序池时指定的。如果显示名称中包含空格,请使用
%20编码机制来表示空格。或者,您也可以指定一个桌面 ID 或应用程序 ID,该 ID 是包含桌面池 ID 或应用程序池 ID 的路径字符串。要查找桌面 ID 或应用程序 ID,请在 Omnissa Horizon Connection Server 主机上打开“ADSI 编辑”,导航到相应的
DC位置,然后选择OU=Applications节点。此时会列出所有桌面池和应用程序池。distinguishedName属性指定 ID 值。在 URI 中指定 ID 值之前,必须对其进行编码。**注意:**多个远程桌面或已发布的应用程序可以具有相同的显示名称,但桌面 ID 和应用程序 ID 是唯一的。要指定特定的远程桌面或已发布的应用程序,请使用桌面 ID 或应用程序 ID,而不要使用显示名称。
-
query-part
要使用的配置选项,或者要执行的远程桌面或已发布应用程序操作。查询不区分大小写。要使用多个查询,请使用与号 (&) 分隔查询。如果查询之间有冲突,Horizon Client 使用列表中的最后一个查询。使用以下语法。
query1=value1[&query2=value2...]
支持的查询
此类型的 Horizon Client 支持以下查询。如果要为多种类型的客户端(例如,桌面客户端和移动客户端)创建 URI,请参阅适用于每种客户端系统类型的指南文档,了解支持的查询列表。
-
action
以下值可用于 action 查询。值 说明 browse 显示指定服务器上托管的可用远程桌面和已发布应用程序的列表。使用此操作时无需指定远程桌面或已发布的应用程序。 start-session 打开指定的远程桌面或已发布的应用程序。如果未提供任何 action 查询,而提供了远程桌面或已发布应用程序的名称,则 start-session 为默认操作。 reset 关闭并重新启动指定的远程桌面或已发布的应用程序。未保存的数据都会丢失。重置远程桌面与按下物理 PC 上的重置按钮相同。 restart 关闭并重新启动指定的远程桌面。重新启动远程桌面与 Windows 操作系统重新启动命令相同。在重新启动之前,操作系统通常会提示用户保存任何未保存的数据。 logoff 将用户从远程桌面中的客户机操作系统中注销。如果指定已发布的应用程序,则此操作会被忽略,或者最终用户会看到一条警告消息“URI 操作无效 (Invalid URI action)”。 -
args
指定要在已发布的应用程序启动时添加的命令行参数。使用语法
args=value,其中 value 是字符串。对于以下字符,使用百分号编码:- 对于冒号 (:),使用
%3A - 对于反斜杠 (\),使用
%5C - 对于空格 ( ),使用
%20 - 对于双引号 ("),使用
%22例如,要为 Notepad++ 应用程序指定文件名"My new file.txt",请使用%22My%20new%20file.txt%22。
- 对于冒号 (:),使用
-
appProtocol
对于已发布的应用程序,有效值为
PCOIP和BLAST。例如,要指定 PCoIP,请使用appProtocol=PCOIP语法。 -
desktopLayout
设置远程桌面窗口的大小。要使用此查询,您必须将
action查询设置为start-session,或者不使用action查询。以下值可用于 desktopLayout 查询。
值 说明 fullscreen 在一个显示器中全屏显示。这是默认值。 multimonitor 在所有显示器中全屏显示。 windowLarge 大窗口。 windowSmall 小窗口。 WxH 自定义分辨率,您可以以像素为单位指定宽乘高。语法示例为 desktopLayout=1280x800。 -
desktopProtocol
对于远程桌面,有效值为
PCOIP和BLAST。例如,要指定 PCoIP,请使用desktopProtocol=PCOIP语法。 -
domainName
指定与连接到远程桌面或已发布应用程序的用户相关联的 NETBIOS 域名。例如,您可以使用
mycompany,而非mycompany.com。 -
launchMinimized
以最小化模式启动 Horizon Client。在启动用户指定的远程桌面或已发布的应用程序时,Horizon Client 窗口保持最小化并隐藏在后台。语法为
launchMinimized=true。默认值是false。 -
useExisting
通过设置 -useExisting 参数,您可以控制是否可以同时运行多个 Horizon Client 实例。设置此参数时,Horizon Client 会通过在启动新会话之前提示关闭任何现有会话来维护单个 实例。
如果设置了 -useExisting 参数,您将看到一个指示使用单个客户端实例的标记。系统会显示一条消息,指示您从现有实例中注销。然后一旦接受, 新会话就会打开。
如果未设置 -useExisting 参数,将打开一个新的客户端实例。
示例:
<IP>?useExisting=true或<IP>?useExisting=false在显示 IP 的位置插入您指定的 IP。 -
unauthenticatedAccessEnabled
- 如果将此选项设置为
true,则“未验证访问”功能将被激活。文件 > 未验证访问设置在用户界面中处于可见状态并已选中。 - 如果将此选项设置为
false,则“未验证访问”功能将被停用。文件 > 未验证访问设置在用户界面中处于可见状态并已取消选中。 - 如果将此选项设置为
"",则“未验证访问”功能将被停用,而且文件 > 未验证访问设置将在用户界面中处于可见状态并已取消选中。 语法示例为unauthenticatedAccessEnabled=true。
- 如果将此选项设置为
-
unauthenticatedAccessAccount
如果激活了“未验证访问”功能,则设置要使用的帐户。如果停用了“未验证访问”,则此查询将被忽略。使用
anonymous1用户帐户的语法示例为unauthenticatedAccessAccount=anonymous1。
horizon-client URI 示例
您可以使用 horizon-client URI 方案来创建超文本链接或按钮,并将这些链接包含在电子邮件或网页中。例如,最终用户可以单击某个 URI 链接,通过您所指定的启动选项来启动远程桌面。
每个 URI 示例后都将包含最终用户在单击 URI 链接后所见到的内容描述。
-
horizon-client://horizon.mycompany.com/Primary%20Desktop?action=start-sessionHorizon Client 将会启动并连接到
horizon.mycompany.com服务器。系统会显示登录对话框,提示用户输入用户名、域名和密码。成功登录后,客户端连接到显示名称为Primary Desktop的远程桌面,并且用户登录到客户机操作系统。**注意:**在此示例中,使用默认的显示协议和窗口大小。默认显示协议为 PCoIP,默认窗口大小为全屏。
您可以更改此默认设置。请参阅使用 horizon-client 命令行界面和配置文件。
-
horizon-client://horizon.mycompany.com:7555/Primary%20Desktop该 URI 与前面的示例效果相同,不同的是该 URI 对 Horizon Connection Server 实例使用非默认端口 7555。(默认端口为 443。)由于已提供远程桌面标识符,因此即使 URI 中不包含
start-session操作,远程桌面也能打开。 -
horizon-client://fred@horizon.mycompany.com/Finance%20Desktop?desktopProtocol=PCOIPHorizon Client 将会启动并连接到
horizon.mycompany.com服务器。在登录对话框中,用户名文本框填充为fred。用户必须提供域名和密码。成功登录后,客户端连接到显示名称为Finance Desktop的远程桌面,并且用户登录到客户机操作系统。用 PCoIP 显示协议进行连接。 -
horizon-client://horizon.mycompany.com/Calculator?action=start-session&appProtocol=BLASTHorizon Client 将会启动并连接到
horizon.mycompany.com服务器。在登录对话框中,用户必须提供用户名、域名和密码。成功登录后,客户端连接到显示名称为Calculator的已发布应用程序。连接使用 Omnissa Horizon Blast 显示协议。 -
horizon-client://fred@horizon.mycompany.com/Finance%20Desktop?domainName=mycompanyHorizon Client 将会启动并连接到
horizon.mycompany.com服务器。在登录对话框中,用户名文本框填充为fred,域文本框填充为mycompany。用户只需提供一个密码。成功登录后,客户端连接到显示名称为Finance Desktop的远程桌面,并且用户登录到客户机操作系统。 -
horizon-client://horizon.mycompany.com/Horizon Client 将会启动,并且用户将看到连接
horizon.mycompany.com服务器的登录提示。 -
horizon-client://horizon.mycompany.com/Primary%20Desktop?action=resetHorizon Client 将会启动并连接到
horizon.mycompany.com服务器。系统会显示登录对话框,提示用户输入用户名、域名和密码。成功登录后,Horizon Client 会重置指定的桌面。**注意:**只有在管理员为远程桌面激活了重置功能时,才能执行该操作。
-
horizon-client://horizon.mycompany.com/Primary%20Desktop?action=restartHorizon Client 将会启动并连接到
horizon.mycompany.com服务器。系统会显示登录对话框,提示用户输入用户名、域名和密码。成功登录后,Horizon Client 会重新启动指定的桌面。**注意:**只有在管理员为远程桌面激活了重新启动功能时,才能执行该操作。
-
horizon-client://Horizon Client 将会启动,并且用户进入用于输入服务器地址的页面。
-
horizon-client://10.10.10.10/My%20Notepad++?args=%22My%20new%20file.txt%22在服务器 10.10.10.10 上启动 My Notepad++,然后在已发布应用程序的启动命令中传递
My new file.txt参数。文件名用双引号引起来,因为它包含空格。 -
horizon-client://10.10.10.10/Notepad++%2012?args=a.txt%20b.txt在服务器 10.10.10.10 上启动 Notepad++ 12,然后在已发布应用程序的启动命令中传递
a.text b.txt参数。由于该参数未用引号引起来,因此,文件名用空格隔开,并在 Notepad++ 中单独打开这两个文件。**注意:**已发布的应用程序使用命令行参数的方式可能各不相同。例如,如果将
a.txt b.txt参数传递给 WordPad,则 WordPad 仅打开一个文件a.txt。 -
horizon-client://horizon.mycompany.com/Notepad?unauthenticatedAccessEnabled=true&unauthenticatedAccessAccount=anonymous1Horizon Client 将会启动并使用
anonymous1用户帐户连接到horizon.mycompany.com服务器。记事本应用程序将会启动,并且不会提示用户提供登录凭据。
HTML 代码示例
您可以使用 URI 来创建超文本链接和按钮,并插入电子邮件或 Web 页面。以下示例介绍了如何使用第一个 URI 示例中的 URI 对标记为 Test Link 的超文本链接和标记为 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>
此页面对您有帮助吗?