您可以通过命令行或使用脚本运行 Horizon Client。如果您要实施基于 kiosk 的应用程序,授予最终用户对远程桌面应用程序的访问权限,您可能需要从命令行运行 Horizon Client

要从命令行运行 Horizon Client,请使用 vmware-view.exe 命令。您可以在 vmware-view.exe 命令中指定一些选项,用于更改 Horizon Client 的行为。

Horizon Client 命令用法

vmware-view 命令语法可控制 Horizon Client 的运行。

在 Windows 命令提示符下,使用以下 vmware-view 命令格式。

vmware-view [command_line_option [argument]] ...

vmware-view 命令可执行文件的默认路径取决于客户端系统。您可以将此路径添加到客户端系统上的 PATH 环境变量中。

  • 64 位系统:C:\Program Files\VMware\VMware Horizon View Client\
  • 基于 ARM 的 64 位系统:C:\Program Files (x86)\VMware\VMware Horizon View Client\

下表显示了可与 vmware-view 命令一起使用的命令行选项。

表 1. Horizon Client 命令行选项
选项 说明
/? 显示命令选项列表。
-appName 应用程序名称 指定已发布的应用程序在桌面和应用程序选择窗口中的显示名称。该名称就是在池创建向导中为应用程序池指定的显示名称。
-appProtocol 协议 指定要使用的已发布应用程序显示协议(如果可用)。有效的协议如下:
  • Blast
  • PCoIP
-appSessionReconnectionBehavior 参数 指定已发布应用程序的重新连接行为设置。有效的参数如下:
always
实施 自动重新连接以打开应用程序设置。
never
实施 不请求重新连接且不自动重新连接设置。
ask
实施 请求重新连接以打开应用程序设置。

使用此选项时,将在 Horizon Client 中禁用已发布应用程序重新连接设置。

-args 参数 指定要在已发布的应用程序启动时添加的命令行参数。例如:
vmware-view.exe -serverURL
10.10.10.10 -appName "My Notepad++" -args "\"my new.txt\""
-connectUSBOnStartup 在设置为 true 时,会将连接到主机的所有 USB 设备重定向到远程桌面或已发布的应用程序。如果您为远程桌面指定了 -unattended 选项,则此选项将以隐式方式设置。默认设置为 false
-connectUSBOnInsert 如果设置为 true,则在插入 USB 设备时会将其连接到前台远程桌面或已发布的应用程序。如果您为远程桌面指定了 -unattended 选项,则此选项将以隐式方式设置。默认设置为 false
-desktopLayout 窗口大小 指定远程桌面窗口的显示方式。有效的窗口大小值如下:
fullscreen
全屏显示。
multimonitor
多显示器显示。
windowLarge
大窗口。
windowSmall
小窗口。
length X width
自定义大小,例如,800 X 600。
-desktopName 桌面名称 指定远程桌面在桌面和应用程序选择窗口中的显示名称。该名称就是在池创建向导中为池指定的显示名称。
重要说明: 请勿为 kiosk 模式中的客户端指定该选项。如果所在的远程桌面在 kiosk 模式下运行,此选项无效。对于 kiosk 模式,已连接到授权远程桌面列表中的第一个远程桌面。
-desktopProtocol 协议 指定要使用的、将在桌面和应用程序选择窗口中显示的显示协议。有效的显示协议如下:
  • Blast
  • PCoIP
  • RDP
-domainName domain_name 指定最终用户用来登录到 Horizon Client 的 NETBIOS 域。例如,使用 mycompany,而非 mycompany.com
-file 文件路径 指定包含其他命令选项和自变量的配置文件的路径。
-h 显示帮助选项。
-hideClientAfterLaunchSession 设置为 true 时,隐藏桌面和应用程序选择器窗口。设置为 false 时,显示桌面和应用程序选择器窗口。
-installShortcutsThenQuit 使用此选项可安装服务器上配置的桌面和应用程序快捷方式。如果使用此选项并提供充足的服务器身份验证信息,Horizon Client 将以无提示方式连接到服务器,安装快捷方式,然后退出。如果服务器身份验证失败,Horizon Client 将以无提示方式退出。

要在客户端系统上自动安装快捷方式,请创建一个在客户端系统启动时运行的脚本。例如:

vmware-view.exe -serverURL serverurl -userName user -domainName domain 
-password password -installShortcutsThenQuit

vmware-view.exe -serverURL serverurl -logInAsCurrentUser true -installShortcutsThenQuit

有关由服务器创建的快捷方式的信息,请参阅在 Horizon Windows Client 上配置快捷方式更新

-languageId 区域设置 ID Horizon Client 中提供对不同语言的本地化支持。如果资源库可用,指定要使用的 Locale ID (LCID)。对于美国英语,输入的值为 0x409。
-launchMinimized 以最小化模式启动 Horizon Client

如果您提供 -appName-desktopName 选项,则在指定的已发布应用程序或远程桌面启动之前,Horizon Client 将一直保持最小化。

不能将此选项与 -unattended-nonInteractive 选项结合使用。

-listMonitors 列出索引值,并显示连接显示器的布局信息。例如:
1: (0, 0, 1920, 1200)
2: (1920, 0, 3840, 1200)
3: (-900, -410, 0, 1190)

使用 -monitors 选项中的这些索引值。

–lockUserName 锁定为服务器登录提供的用户名。仅当指定服务器地址时,才能使用该选项。使用此选项可锁定Active Directory身份验证类型的用户名字段。
-logInAsCurrentUser 如果设置为 true,请使用最终用户在登录到客户端系统时提供的凭据信息登录到服务器,并最终登录到远程桌面。默认设置为 false
-machineName machine_name 将 RDSH/计算机 FQDN 发送到服务器以在计算机上启动应用程序或桌面。只有在池或场上激活了允许选择计算机名称设置时,此选项才会生效。还需要指定 -desktopName-appName-serverURL 选项才能生效。
-monitors "n[,n,n,n]" 指定要在多显示器设置中使用的显示器,其中 n 为显示器的索引值。您可以使用 -listMonitors 选项来确定连接显示器的索引值。您可以最多指定四个以逗号分隔的索引值。例如:
-monitors "1,2"

除非将 -desktopLayout 设置为 multimonitor,否则此选项不起作用。

-nonInteractive 通过脚本启动 Horizon Client 时禁止显示错误消息框。如果您指定了 -unattended 选项,则会隐式设置该选项。
注: 如果以非交互模式登录到服务器,则不会提示您安装 开始菜单快捷方式(如果可用),将默认安装这些快捷方式。
-noVMwareAddins 可防止加载特定于 VMware 的虚拟通道,如虚拟打印。
-password 密码 指定最终用户用来登录到 Horizon Client 的密码。该密码由命令控制台或任何脚本工具以纯文本形式进行处理。如果是自动生成密码,则不需要为处于 kiosk 模式的客户端指定此选项。为提高安全性,请勿指定此选项。用户可以通过交互方式输入密码。
-printEnvironmentInfo 显示客户端设备的 IP 地址、MAC 地址和计算机名称。
-serverURL connection_server 指定服务器的 URL、IP 地址或 FQDN。
-shutdown 关闭所有远程桌面和已发布的应用程序以及相关的用户界面组件。
-singleAutoConnect 如果用户仅有权使用一个远程桌面或已发布的应用程序,则在用户对服务器进行身份验证之后,将连接到该远程桌面或已发布的应用程序。此设置可让用户免于从仅包含一个项目的列表中选择远程桌面或已发布的应用程序。
-smartCardPIN PIN 指定最终用户插入智能卡进行登录时所用的 PIN。
-usernameHint user_name 指定要用作用户名提示的帐户名称。
-standalone 启动第二个 Horizon Client 实例,它可以连接到相同或不同的服务器。后向兼容性支持此选项。不必指定 -standalone,因为它是客户端的默认行为。

对于指向同一个服务器或不同服务器的多个远程桌面连接,支持使用安全加密链路。

注: 第二个远程桌面连接可能无法访问本地硬件,例如 USB 设备、智能卡、打印机和多台显示器。
-supportText file_name 指定文本文件的完整路径。该文件的内容显示在“关于”对话框中。
-unattended 以适用于 Kiosk 模式客户端的非交互模式启动 Horizon Client。您还必须指定以下信息:
  • 客户端的帐户名(如果您未根据客户端设备的 MAC 地址生成帐户名)。该名称必须以字符串 "custom-" 或在 ADAM 中配置的备用前缀开头。
  • 客户端的密码(如果您在设置客户端帐户时未自动生成密码)。

-unattended 选项可隐式设置 -nonInteractive-connectUSBOnStartup-connectUSBOnInsert-desktopLayout multimonitor 选项。

-unauthenticatedAccessAccount 指定一个未验证访问用户帐户,以用于在启用未验证访问后以匿名方式登录到服务器。如果未启用未验证访问,将忽略该选项。
例如:
vmware-view.exe -serverURL view.mycompany.com 
-unauthenticatedAccessEnabled true 
-unauthenticatedAccessAccount anonymous1

-unauthenticatedAccessEnabled

设置为 true 时,启用“未验证访问”。如果“未验证访问”不可用,客户端可以改用其他身份验证方法。未验证访问设置在 Horizon Client 中处于可见状态、已禁用并选中。

设置为 false 时,系统要求您输入凭据以登录并访问应用程序。未验证访问设置在 Horizon Client 中处于隐藏状态并取消选中。

如果未指定该选项,您可以在 Horizon Client 中启用未验证访问。未验证访问设置处于可见状态、已启用并取消选中。

-useExisting 允许从单个 Horizon Client 会话中启动多个远程桌面和已发布应用程序。

在指定该选项时,Horizon Client 确定具有相同用户名、域和服务器 URL 的会话是否已存在;如果存在,则重新使用该会话,而不创建会话。

例如,在下面的命令中,user-1 启动 Calculator 应用程序并创建一个新会话。

vmware-view.exe -userName user-1 -password secret 
-domainName domain -appName Calculator 
-serverURL view.mycompany.com -useExisting

在下一个命令中,user1 启动具有相同用户名、域和服务器 URL 的 Paint 应用程序,并使用同一会话。

vmware-view.exe -userName user-1 -password secret 
-domainName domain -appName Paint 
-serverURL view.mycompany.com -useExisting
-userName user_name 指定最终用户登录 Horizon Client 时使用的帐户名。如果您从客户端设备的 MAC 地址生成帐户名称,则不需要为处于 kiosk 模式的客户端指定此选项。

您可以通过 Active Directory 组策略指定所有选项,但 -file-languageId-printEnvironmentInfo-smartCardPIN-unattended 除外。

注: 组策略设置优先于命令行中指定的设置。命令行选项区分大小写。

Horizon Client 配置文件

您可以从配置文件中读取 Horizon Client 的命令行选项。

您可以将配置文件的路径指定为 vmware-view 命令中 -file file_path 选项的参数。文件必须是 Unicode (UTF-16) 或 ASCII 文本文件。

非交互式应用程序配置文件示例

以下示例介绍了非交互式应用程序配置文件的内容。

-serverURL https://view.yourcompany.com
-userName autouser
-password auto123
-domainName companydomain
-desktopName autodesktop
-nonInteractive

Kiosk 模式下的客户端配置文件示例

以下示例介绍了一个处于 kiosk 模式下、帐户名基于客户端 MAC 地址的客户端。此客户端具有自动生成的密码。

-serverURL 145.124.24.100
-unattended