您必須在要讓 Horizon 執行啟動工作階段指令碼的每個 Horizon 桌面平台虛擬機器上新增 Windows 登錄項目。
必要條件
- 確認您所設定啟動工作階段指令碼的路徑僅可供 SYSTEM 帳戶和本機管理員存取。如需詳細資訊,請參閱使用啟動工作階段指令碼的最佳做法。
- 確定您的啟動工作階段指令碼可快速執行。如果您在 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 回應,請將稱為 WaitScriptsOnStartSession 的第二個 DWORD 值新增至 Configuration 機碼。
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 指令碼主機服務能夠使啟動工作階段指令碼逾時,請設定逾時值。
- 導覽至 HKLM\SOFTWARE\VMware, Inc.\VMware VDM\ScriptEvents\StartSession。
- 在主題區域中,以滑鼠右鍵按一下 Default (@) 機碼,然後選取修改。
- 在數值資料文字方塊中輸入逾時值,然後按一下確定。
若值為 0,表示未設定逾時。
- 結束登錄編輯程式,並重新啟動系統。