1、背景

在Horizon 环境中,我们从命令行静默安装Horizon代理时,可以在命令中指定特定属性参数。但必须使用PROPERTY=value这种格式,以便Microsoft Windows Installer (MSI)能够解释这些属性和对应值;静默升级时使用同样的安装命令。下文显示了可以在命令行中使用的Horizon Agent静默安装属性。

打开命令输入窗口,输入msiexec /?,可查看msi命令行执行帮助,会弹出以下窗口。

window静默安装vc_redist windows静默安装参数_默认值


要静默运行Horizon组件安装程序,首先要将系统引导程序静默,因该程序会将默认的安装程序提取到临时目录中,然后启动交互式安装。

通过静默安装,我们可以在大型企业中更高效地部署Horizon组件。

2、属性参数概览

1)INSTALLDIR

用于指定Horizon Agent安装的路径,文件夹名称,此MSI属性是可选的,默认值为:%ProgramFiles%\VMware\VMware View\Agent。书写格式如下:

INSTALLDIR="“D:\abc\my folder”" //路径用两组双引号括起来可允许MSI安装程序忽略路径中的空格。

2)RDP_CHOICE

该参数也是可选的,用来确定是否在桌面上启用远程桌面协议(RDP)。如果其值为1(默认值),则启用,0则不启用RDP。

3)SUPPRESS_RUNONCE_CHECK

该参数也是可选的,默认值为None;该参数用于指定忽略中下一次操作系统重新启动时计划的挂起的Windows Update任务:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce 和RunOnceEx 键值对

当系统更新影响Horizon代理运行时依赖项时,使用此标志可允许并发安装,但不能保证安装结果。

4)URL_FILTERING_ENABLED

该参数也是可选的,默认值为None;指定是否安装URL内容重定向功能。值为1将安装该功能,默认值为0即不启用URL重定向。之后必须使用组策略设置来配置要重定向的URL。

5)VDM_SKIP_BROKER_REGISTRATION

默认值为空。当该参数值为1时,VDI服务器将跳过忽略非受管桌面。

6)VDM_VC_MANAGED_AGENT

该参数也是可选的,默认值为None;确定是否由vCenter Server管理安装了Horizon Agent的虚拟机;参数值为1时,即将桌面配置为由vCenter Server管理的虚拟机,反之0配置桌面为不受vCenter服务器管理。另外,该选项用于修复vm时,不支持非托管虚拟机,因修复此类安装将导致托管Horizon Agent的安装。

7)VDM_SERVER_NAME

该参数默认值为None;指定非托管桌面上的Horizon代理安装程序注册给连接服务器实例的主机名或IP地址。此属性仅适用于非托管桌面。对于非托管桌面,此MSI属性是必需的,请勿将此MSI属性用于由vCenter Server管理的虚拟桌面。配置示例:

VDM_SERVER_NAME=10.123.01.01 //ip地址为CS服务器的ip

8)VDM_SERVER_USERNAME

该参数默认值为None;指定连接服务器实例上管理员的用户名。此MSI属性仅适用于非托管桌面,对于非托管桌面,此MSI属性是必需的,但请勿将此MSI属性用于vCenter服务器管理的虚拟桌面。配置示例:
:
VDM_SERVER_USERNAME=domain\username

9)VDM_SERVER_PASSWORD

该参数默认值为None;指定连接服务器管理员用户密码,同样,对于非托管桌面,此MSI属性是必需的,但请勿将此MSI属性用于vCenter服务器管理的虚拟桌面。配置示例:

VDM_SERVER_PASSWORD=secret //一般是域管理员的密码

10)VDM_IP_PROTOCOL_USAGE

该参数默认值为IPv4;指定Horizon Agent使用的IP版本。是IPv4还是IPv6。

11)VDM_FIPS_ENABLED

该参数默认值为0;用于指定是启用还是禁用FIPS模式。值1启用FIPS模式。值为0将禁用FIPS模式。如果将此属性设置为1,并且Windows不在FIPS模式下,则安装程序将中止。

12)VDM_FORCE_DESKTOP_AGENT

该参数也是可选的,默认值为0;如果在Windows Server计算机上安装了Horizon Agent,并将其配置为单用户Horizon桌面而不是RDS主机,则将该值设置为1。此要求适用于由vCenter Server管理的计算机和不受管理的计算机。对于承载应用程序会话的非服务器上的Windows guest虚拟机,将该值设置为0。

13)注意

如果不在命令行使用ADDLOCAL属性,Horizon Agent将安装在交互安装过程中默认安装的所有选项(如果VM桌面操作系统支持这些选项)。如果要使用ADDLOCAL指定部分功能或对单个功能进行逐一配置(即不指定ADDLOCAL = ALL),则必须始终指定Core。下表是Horizon Agent静默安装选项和交互式自定义安装选项概览:

window静默安装vc_redist windows静默安装参数_默认值_02


window静默安装vc_redist windows静默安装参数_安装程序_03

3、命令执行注意

通过将命令行选项和MSI属性值传递给MSI安装程序msiexec.exe,可以控制静默安装。

命令执行前提:需要部署好AD,需要单会话远程桌面或RDSH主机是server系统,如果计算机安装了Microsoft Visual C ++ Redistributable软件包,请验证该软件包的版本是否为2005 SP1或更高版本,否则需要首先升级该版本。

1)命令行中使用 /s 选项,将禁用安装引导(想到)程序启动屏幕和提取/弹出(交互式)对话框,这将阻止显示交互式对话框。示例:VMware-viewconnectionserver-y.y.y-xxxxxx.exe /s

上述命令将静默执行安装。

2)/v 参数,用于指示安装程序传递在命令行中用于作为输入传递的用双引号括起来的字符串,如果字符串中含有空格,请使用两组双引号将其括起来,该字符串将作为一组整体选项供MSI解释。我们必须将命令行条目写在双引号之间(在/ v后面和命令行末尾加上双引号)。示例如下:

Mware-Horizon-Agent-x86-y.y.y-xxxxxx.exe /s /v"command_line_options"

VMware-viewconnectionserver-y.y.y-xxxxxx.exe /s /v"command_line_options INSTALLDIR="“d:\abc\my folder”"" //含空格的,MSI安装程序会传递安装目录路径,并且不会尝试将字符串解释为两个命令行选项。注意最后的双引号将整个命令行括起来

3)/qn 选项:指示MSI安装程序不显示安装程序向导页面。

比如,当希望静默安装Horizon Agent,并只使用默认设置选项和功能时,执行:

VMware-Horizon-Agent-x86-y.y.y-xxxxxx.exe /s /v"/qn"

如想在非交互的自动安装中显示基本进度:可使用 /qb 选项。

4)INSTALLDIR(可选):指定Horizon组件的新的安装路径。

可使用“INSTALLDIR=path”格式指定安装路径。如果要在默认路径中安装Horizon组件,可以忽略此MSI属性。

5)ADDLOCAL(可选):用于确定要安装的特定组件

在交互式安装中,Horizon安装程序将显示可以选择或取消选择的所有自定义安装选项。而在静默安装中,可以通过在命令行上指定特定选项来使用ADDLOCAL属性有选择地安装各个安装选项。如未明确指定的选项则不会安装相应组件。但在交互式和静默安装中,Horizon安装程序都会自动安装某些功能。这些事不能使用ADDLOCAL来控制是否安装这些非可选功能的。

使用ADDLOCAL = ALL,可以安装在交互式安装过程中可以安装的所有自定义安装选项,包括默认安装的选项和必须选择安装的选项(NGVC除外,使用 VMware 的 NGVC 技术可即时为分配创建虚拟机,即创建即时克隆桌面。)。因 NGVC和SVIAgent是互斥的。如果不使用ADDLOCAL属性,则会安装默认安装的自定义设置选项和自动安装的特性。默认情况下关闭(未选中)的自定义安装选项不会安装。

示例1:VMware-Horizon-Agent-x86-yyy-xxxxxx.exe / s / v“ / qn ADDLOCAL =ALL” //将安装Core,BlastProtocol,PCoIP,UnityTouch,VmVideo,PSG以及vm操作系统上支持的所有功能:

示例2:VMware-Horizon-Agent-x86-y.y.y-xxxxxx.exe /s /v"/qn" //静默安装Core, BlastProtocol, PCoIP, UnityTouch, VmVideo, PSG,以及客户操作系统上支持的默认自定义设置选项

要指定单个设置选项,请键入以逗号分隔的各设置选项名称列表。名称之间请勿使用空格。格式如下:ADDLOCAL=value,value,value…,但其中必须要包含Core功能,一般首先指定安装Core,即ADDLOCAL=Core,value,value…。

示例3:VMware-Horizon-Agent-x86-y.y.y-xxxxxx.exe /s /v"/qn ADDLOCAL=Core,NGVC //安装具有Core、BlastProtocol、PCoIP、UnityTouch、VmVideo、PSG和Instant Clone Agent功能的Horizon Agent

6)REBOOT(可选):可以使用REBOOT = ReallySuppress选项来允许系统配置任务在系统重新引导之前完成。

7)/l*v log_file选项:指定将日志信息写入指定的日志文件,并输出详细信息。

示例1:/l*v “”%TEMP%\vmmsi.log"" //这个示例生成了一个详细的日志文件,它与交互式安装过程中生成的日志类似

4、agent静默安装命令执行

Horizon Agent安装程序不会以静默模式自动安装任何角色。如果要使用RDS模式,请在系统上预安装RDSH角色

示例1:安装Horizon Agent及其组件Core、VMware Blast、PCoIP、Unity Touch、VmVideo、PSG、USB重定向和实时音频视频组件

VMware-Horizon-Agent-x86-y.y.y-xxxxxx.exe /s /v"/qn VDM_VC_MANAGED_AGENT=1 ADDLOCAL=Core,SVIAgent,ThinPrint,USB,RTAV"

示例2: 将Horizon Agent安装在不受管的计算机上,并将桌面注册到指定的连接服务器cs1.companydomain.com。此外,安装程序还会安装Core,VMware Blast,PCoIP,Unity Touch,VmVideo,PSG和USB重定向组件。

VMware-Horizon-Agent-x86-y.y.y-xxxxxx.exe /s /v"/qn VDM_VC_MANAGED_AGENT=0 VDM_SERVER_NAME=cs1.companydomain.com VDM_SERVER_USERNAME=admin.companydomain.com VDM_SERVER_PASSWORD=secret ADDLOCAL=Core,ThinPrint,USB"

注意:如要在Windows Server计算机上安装了Horizon Agent,且打算将该计算机配置为单用户Horizon桌面而不是RDS主机,则必须在安装命令中使用VDM_FORCE_DESKTOP_AGENT = 1参数。这适用于由vCenter Server管理的计算机和不受管理的计算机。

如果虚拟机有多个网卡,请配置Horizon Agent使用的子网,只能配置一个供agent使用:

在安装了agent的OS上,打开注册表,找到HKLM\Software\VMware, Inc.\VMware VDM\IpPrefix = n.n.n.n/m (REG_SZ),指定Horizon Agent使用的子网,如果没有IpPrefix,请手动创建。参见Horizon agent多网卡配置