透過 QuickPrep 工具,您就能建立可在集區中自訂連結複製機器的指令碼。您可以對 QuickPrep 進行設定,在兩個預先定義的時間執行自訂指令碼。

在 QuickPrep 指令碼執行時

同步後指令碼會在連結複製建立、重新撰寫、重新平衡,且複製狀態為就緒之後執行。關閉電源指令碼會在連結複製關閉電源之前執行。這些指令碼會在連結複製的客體作業系統中執行。

QuickPrep 執行指令碼的方式

QuickPrep 程序使用 Windows CreateProcess API 呼叫來執行指令碼。您的指令碼可以叫用所有可由 CreateProcess API 建立的程序。例如,cmdvbscriptexe 和批次檔程序即適用於 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 自訂指令碼。將指令碼置於安全的資料夾中。

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