透過 QuickPrep 工具,您就能建立可在集區中自訂連結複製機器的指令碼。您可以對 QuickPrep 進行設定,在兩個預先定義的時間執行自訂指令碼。
在 QuickPrep 指令碼執行時
同步後指令碼會在連結複製建立、重新撰寫、重新平衡,且複製狀態為就緒之後執行。關閉電源指令碼會在連結複製關閉電源之前執行。這些指令碼會在連結複製的客體作業系統中執行。
QuickPrep 執行指令碼的方式
QuickPrep 程序使用 Windows CreateProcess API 呼叫來執行指令碼。您的指令碼可以叫用所有可由 CreateProcess API 建立的程序。例如,cmd、vbscript、exe 和批次檔程序即適用於 API。
尤其是 QuickPrep 會將指定為指令碼第二參數的路徑傳遞至 CreateProcess API,並將第一參數設定為 NULL
。
例如,若指令碼路徑是 c:\myscript.cmd,該路徑會在 View Composer 記錄檔中,顯示為函數的第二參數:CreateProcess(NULL,c:\myscript.cmd,...)。
為 QuickPrep 指令碼提供路徑
您可以在建立連結複製機器集區,或是編輯集區的客體自訂設定時,為 QuickPrep 自訂指令碼提供路徑。指令碼必須存放於父虛擬機器上。您不可使用網路共用的 UNC 路徑。
若您使用需要解譯器來執行指令碼的指令碼語言,指令碼路徑的開頭必須是解譯器二進位檔。
例如,若您將路徑 C:\script\myvb.vbs 指定為 QuickPrep 自訂指令碼,View Composer Agent 則無法執行指令碼。您必須指定開頭是解譯器二進位檔路徑的路徑:
C:\windows\system32\cscript.exe c:\script\myvb.vbs
QuickPrep 指令碼逾時限制
View Composer 會終止時間長達 20 秒以上的同步後或關閉電源指令碼。若您的指令碼需要 20 秒以上的時間,則可以增加逾時限制。如需詳細資料,請參閱 增加 ClonePrep 和 QuickPrep 自訂指令碼的逾時限制。
您也可以使用指令碼來啟動另一個指令碼或程序,以執行長時間運行的工作。
QuickPrep 指令碼帳戶
QuickPrep 會在 VMware View Composer Guest Agent Server 服務設定要執行的帳戶下執行指令碼:依預設,此帳戶是 Local System。
請勿變更帳戶上的這個記錄,否則連結複製將無法啟動。
QuickPrep 程序權限
基於安全理由,會從可叫用 QuickPrep 自訂指令碼的 View Composer Guest Agent 程序,移除特定的 Windows 作業系統權限。
從 View Composer Guest Agent 程序移除權限之後,QuickPrep 自訂指令碼將無法執行需要該權限的任何動作。
會從叫用 QuickPrep 指令碼的程序移除下列權限:
SeCreateTokenPrivilege SeTakeOwnershipPrivilege SeSecurityPrivilege SeSystemEnvironmentPrivilege SeLoadDriverPrivilege SeSystemtimePrivilege SeUndockPrivilege SeManageVolumePrivilege SeLockMemoryPrivilege SeIncreaseBasePriorityPrivilege SeCreatePermanentPrivilege SeDebugPrivilege SeAuditPrivilege
QuickPrep 指令碼記錄檔
View Composer 記錄檔包含與 QuickPrep 指令碼執行有關的資訊。該記錄檔會記錄執行的開始和結束,以及記錄輸出或錯誤訊息。該記錄檔位於 Windows temp 目錄:
C:\Windows\Temp\vmware-viewcomposer-ga-new.log