您可以使用统一资源标识符 (Uniform Resource Identifier, URI) 为最终用户创建 Web 链接或电子邮件链接。最终用户可以单击这些链接,以使用特定配置选项启动 HTML Access、连接到服务器,以及启动远程桌面或已发布的应用程序。
通过构建提供以下部分或全部信息的 URI 来创建链接,这样最终用户就无需再提供这些信息。
- 服务器地址
- 服务器的端口号
- Active Directory 用户名
- RADIUS 或 RSA SecurID 用户名(如果与 Active Directory 用户名不同)
- 域名
- 远程桌面或已发布的应用程序的显示名称
- 操作,包括浏览、重置、注销和启动会话
URI 规范
所需的语法包括用于指定服务器的路径部分,还包括(可选)用于指定用户、远程桌面或已发布的应用程序以及操作或配置选项的查询。
要创建用于启动 HTML Access 的 URI,请使用以下语法:
https://authority-part[/?query-part]
- authority-part
-
指定服务器地址,也可以指定非默认端口号。服务器名称必须遵循 DNS 语法。
要指定端口号,请使用下面的语法:
server-address:port-number
- query-part
-
指定要使用的配置选项或要执行的操作。查询不区分大小写。要使用多个查询,请使用 & 符号分隔查询。如果查询之间相互冲突,则以列表中的最后一项查询为准。使用以下语法:
query1=value1[&query2=value2...]
创建查询部分时,请遵循以下原则:
- 如果不使用至少一个支持的查询,将显示默认的 VMware Horizon Web 门户页面。
- 在查询部分中,不支持某些特殊字符,因此您必须对这些字符使用 URL 编码格式,例如:使用 %23 表示井号 (#),使用 %25 表示百分号 (%),使用 %26 表示 & 符号,使用 %40 表示 @ 符号,使用 %5C 表示反斜杠 (\)。
有关 URL 编码的更多信息,请转至 http://www.w3schools.com/tags/ref_urlencode.asp。
- 查询部分中所有的非 ASCII 字符都必须先根据 UTF-8 [STD63] 进行编码,然后相应 UTF-8 序列的每个八进制数都必须进行百分比编码,以 URI 字符的形式显示。
有关 ASCII 字符的编码信息,请参考 http://www.utf8-chartable.de/ 上的 URL 编码参考。
支持的查询
本主题列出了 HTML Access 支持的查询。如果要为多种类型的客户端(如桌面客户端和移动客户端)创建 URI,请参阅每种类型的客户端系统的指南文档。
- action
-
表 1. 可与 action 查询一起使用的值 值 说明 browse 显示指定服务器上托管的可用远程桌面和已发布应用程序的列表。使用此项操作时无需指定远程桌面或已发布的应用程序。 start-session 启动指定的远程桌面或已发布的应用程序。如果未提供任何操作查询以及远程桌面名称或已发布应用程序名称,则 start-session 为默认操作。 reset 关闭并重新启动指定的远程桌面。未保存的数据都会丢失。重置远程桌面相当于按下物理 PC 上的重置按钮。此操作对于已发布的应用程序无效。 logoff 将用户从远程桌面中的客户机操作系统中注销。此操作对于已发布的应用程序无效。 restart 在用户确认重新启动操作请求后,关闭并重新启动主远程桌面。此操作对于已发布的应用程序无效。 - applicationId
- 已发布的应用程序的显示名称。该显示名称是创建应用程序池时在 Horizon Console 中指定的名称。如果显示名称包含空格,浏览器将使用 %20 来表示空格。
- args
-
指定要在启动已发布的应用程序时添加的命令行参数。使用语法
args=
value,其中
value 是字符串。对于以下字符,使用百分号编码:
- 对于冒号 (:),使用 %3A
- 对于反斜杠 (\),使用 %5C
- 对于空格 ( ),使用 %20
- 对于双引号 ("),使用 %22
例如,要为 Notepad++ 应用程序指定 "My new file.txt" 文件名,请使用 %22My%20new%20file.txt%22。
- desktopId
- 远程桌面的显示名称。该显示名称是创建桌面池时在 Horizon Console 中指定的名称。如果显示名称包含空格,浏览器将使用 %20 来表示空格。
- domainName
- 与连接到远程桌面或已发布的应用程序的用户相关联的 NETBIOS 域名。例如,使用 mycompany,而非 mycompany.com。
- tokenUserName
- RSA 或 RADIUS 用户名。只有在 RSA 或 RADIUS 用户名与 Active Directory 用户名不同时,才使用此查询。如果未指定此查询且需要 RSA 或 RADIUS 身份验证,则使用 Windows 用户名。
- userName
-
连接到远程桌面或已发布应用程序的 Active Directory 用户。用户名可以采用以下格式之一:
- userName
- domainName%5CuserName
- 用户主体名称 (UPN),即 userName@domainName
- unauthenticatedAccessEnabled
- 当此选项设置为 true 时,默认将启用“未验证访问”功能。 HTML Access 将会启动,并且显示匿名用户帐户。举例说明该语法: unauthenticatedAccessEnabled=true。
- unauthenticatedAccessAccount
- 如果启用了“未经身份验证的访问”功能,请设置要使用的帐户。如果“未验证访问”处于停用状态,那么此查询将被忽略。使用 anonymous1 用户帐户的语法示例: unauthenticatedAccessAccount=anonymous1
- webviewMode
-
当此选项设置为
true 时,远程会话将在 Web 视图模式下启动。在 Web 视图模式下,将隐藏
HTML Access 边栏。Web 视图模式还允许某些第三方移动应用执行以下操作:
- 将事件从软键盘发送到远程桌面
- 在 HTML Access 中使用移动应用界面在本机触摸模式和触控板触摸模式之间切换
URI 语法示例
以下每个 URI 示例后都包含最终用户在单击 URI 链接后所看到的内容描述。查询不区分大小写,例如,您可以使用 domainName 或 domainname。
-
https://horizon.mycompany.com/?domainName=finance&userName=fred
HTML Access 启动并连接到 horizon.mycompany.com 服务器。在登录框中的用户名文本框中填入名称 fred,在域文本框中填入 finance。用户只需提供一个密码。
-
https://horizon.mycompany.com/?userName=finance%5Cfred
HTML Access 启动并连接到 horizon.mycompany.com 服务器。在登录框的用户名文本框中,将填入名称 finance\fred。用户只需提供一个密码。
-
https://horizon.mycompany.com/?userName=fred@finance
HTML Access 启动并连接到 horizon.mycompany.com 服务器。在登录框的用户名文本框中,将填入名称 fred@finance。用户只需提供一个密码。
-
https://horizon.mycompany.com/?desktopId=Primary%20Desktop&action=start-session
HTML Access 启动并连接到 horizon.mycompany.com 服务器。出现登录框,提示用户输入用户名、域名和密码。成功登录后,客户端连接到显示名称为 Primary Desktop 的远程桌面,并且用户登录到客户机操作系统。
-
https://horizon.mycompany.com/?applicationId=Notepad&action=start-session
HTML Access 启动并连接到 horizon.mycompany.com 服务器。出现登录框,提示用户输入用户名、域名和密码。成功登录后,将会启动记事本应用程序。
-
https://horizon.mycompany.com:7555/?desktopId=Primary%20Desktop
该 URI 与前面的示例效果相同,不同的是该 URI 对服务器使用非默认端口 7555。默认端口为 443。由于已提供远程桌面标识符,因此即使 URI 中不包含 start-session 操作,远程桌面也能启动。
-
https://horizon.mycompany.com/?applicationId=Primary%20Application&desktopId=Primary%20Desktop
此 URI 同时指定了已发布的应用程序和远程桌面。当同时指定已发布的应用程序和远程桌面时,只会启动远程桌面。
-
https://horizon.mycompany.com/?desktopId=Primary%20Desktop&action=reset
HTML Access 启动并连接到 horizon.mycompany.com 服务器。出现登录框,提示用户输入用户名、域名和密码。成功登录后,该客户端会显示一个对话框,提示用户确认主桌面重置操作。
注: 只有在管理员允许最终用户重置其计算机时,才能执行该操作。 -
https://horizon.mycompany.com/?My%20Notepad++?args=%22My%20new%20file.txt%22
在服务器 horizon.mycompany.com 上打开 My Notepad++,然后在应用程序启动命令中传递参数 My new file.txt。文件名用双引号引起来,因为它包含空格。
-
https://horizon.mycompany.com/?Notepad++%2012?args=a.txt%20b.txt
在服务器 horizon.mycompany.com 上打开 Notepad++ 12,然后在应用程序启动命令中传递参数 a.text b.txt。由于该参数未使用双引号引起来,因此,文件名用空格隔开,并在 Notepad++ 中单独打开这两个文件。
注: 应用程序使用命令行参数的方式可能不相同。例如,如果将 a.txt b.txt 参数传递给 WordPad,WordPad 仅打开一个文件 ( a.txt)。 -
https://horizon.mycompany.com/?desktopId=Primary%20Desktop&action=restart
HTML Access 启动并连接到 horizon.mycompany.com 服务器。出现登录框,提示用户输入用户名、域名和密码。在成功登录后,客户端将显示一个对话框,提示用户确认主桌面重新启动操作。
注: 只有在管理员允许最终用户重新启动其计算机时,才能执行该操作。 -
https://horizon.mycompany.com/?unauthenticatedAccessEnabled=true&unauthenticatedAccessAccount=anonymous_user1
HTML Access 启动并使用 anonymous_user1 帐户连接到 horizon.mycompany.com 服务器。
HTML 代码示例
您可以使用 URI 来创建超文本链接和按钮,以将其包含在电子邮件或网页中。以下示例介绍了如何使用第一个 URI 示例中的 URI 对超文本链接 Test Link 和按钮 TestButton 进行编码。
<html> <body> <a href="https://horizon.mycompany.com/?domainName=finance&userName=fred">Test Link</a><br> <form><input type="button" value="TestButton" onClick="window.location.href= 'https://horizon.mycompany.com/?domainName=finance&userName=fred'"></form> <br> </body> </html>