您必须在希望 Horizon 运行启动会话脚本的每个 Horizon 桌面虚拟机上添加 Windows 注册表项。

前提条件

  • 确认您配置启动会话脚本的路径仅可供系统帐户和本地管理员访问。有关更多信息,请参阅使用启动会话脚本的最佳做法
  • 确保您的启动会话脚本可快速运行。如果您在 Windows 注册表中设置了 WaitScriptsOnStartSession 值,则必须先完成启动会话脚本运行,然后 Horizon Agent 才能对连接代理发出的 StartSession 消息做出响应。有关更多信息,请参阅使用启动会话脚本的最佳做法

过程

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