您必须在希望 Horizon 运行启动会话脚本的每个 Horizon 桌面虚拟机上添加 Windows 注册表项。
前提条件
- 确认您配置启动会话脚本的路径仅可供系统帐户和本地管理员访问。有关更多信息,请参阅使用启动会话脚本的最佳做法。
- 确保您的启动会话脚本可快速运行。如果您在 Windows 注册表中设置了 WaitScriptsOnStartSession 值,则必须先完成启动会话脚本运行,然后 Horizon Agent 才能对连接代理发出的 StartSession 消息做出响应。有关更多信息,请参阅使用启动会话脚本的最佳做法。
过程
- 登录到 Horizon 8 桌面虚拟机。
- 在命令提示符中,键入 regedit 以启动 Windows 注册表编辑器。
- 在注册表中,导航到 HKLM\SOFTWARE\VMware, Inc.\VMware VDM\ScriptEvents。
- 将启动会话脚本的路径添加到注册表中。
- 在导航区域中,右键单击 ScriptEvents,选择 ,然后创建一个名为 StartSession 的项。
- 在导航区域中,右键单击 StartSession,选择,然后创建一个字符串值以标识要运行的启动会话脚本,例如,SampleScript。
要运行多个启动会话脚本,请在
StartSession 项下为每个脚本创建一个字符串值条目。您无法指定这些脚本的运行顺序。如果脚本必须按特定顺序运行,请从单个控制脚本调用它们。
- 在主题区域中,右键单击新字符串值条目,然后选择修改。
- 在数值数据文本框中,键入用于调用启动会话脚本的命令行,然后单击确定。
键入启动会话脚本及其所需的任何文件的完整路径。
- 在注册表中添加并激活启动会话值。
- 导航到 HKLM\SOFTWARE\VMware, Inc.\VMware VDM\Agent\Configuration。
- (可选) 如果 Configuration 项不存在,请右键单击 Agent,选择,然后创建该项。
- 在导航区域中,右键单击 Configuration,选择,然后键入 RunScriptsOnStartSession。
- 在主题区域中,右键单击新 DWORD 值条目,然后选择修改。
- 在数值数据文本框中,键入 1 以激活启动会话脚本,然后单击确定。
键入 0 可停用此功能。默认值为 0。
- (可选) 要使 Horizon Agent 延迟发送 StartSession 响应,请向 Configuration 项再添加一个名为 WaitScriptsOnStartSession 的 DWORD 值。
如果
WaitScriptsOnStartSession 数据值为 1,则会使
Horizon Agent 延迟发送 StartSession 响应,并在脚本未完成时失败。值为 0 表示
Horizon Agent 不等待脚本完成或检查脚本退出代码就发送 StartSession 响应。默认值为 0。
- 设置一个注册表值以指定可防止脚本超时的超时值(以秒为单位,而不是分钟)。
通过设置此以秒为单位的超时值,可以用秒作为单位来配置 VMware View 脚本主机服务超时值。例如,如果将 VMware View 脚本主机服务的超时值设置为 30 秒,可以确保在连接代理发生超时之前,启动会话脚本或者完成运行,或者超时。
- 导航到 HKLM\SOFTWARE\VMware, Inc.\VMware VDM\ScriptEvents。
- 添加名为 TimeoutsInMinutes 的 DWORD 值。
- 将数据值设置为 0。
- (可选) 要激活 VMware View Script 主机服务以超时启动会话脚本,请设置超时值。
- 导航到 HKLM\SOFTWARE\VMware, Inc.\VMware VDM\ScriptEvents\StartSession。
- 在主题区域中,右键单击 Default (@) 项,然后选择修改。
- 在数值数据文本框中,键入超时值,然后单击确定。
值为 0 表示未设置超时。
- 退出注册表编辑器,并重新启动系统。