ClonePrep 會在建立程序期間自訂即時複製。

ClonePrep 可確保所有的即時複製皆加入 Active Directory 網域。複製具有與最佳配置映像相同的電腦安全性識別碼 (SID)。雖然某些應用程式可能會在自訂期間產生新的 GUID,但 ClonePrep 也會保留應用程式的全域唯一識別碼 (GUID)。

在新增即時複製桌面平台集區時,您可以指定某個要在建立複製後立即執行的指令碼,以及另一個要在關閉複製電源前執行的指令碼。

ClonePrep 執行指令碼的方式

ClonePrep 會使用 Windows CreateProcess API 來執行指令碼。您的指令碼可以叫用所有可由CreateProcessAPI 建立的程序。例如,cmdvbscriptexe 和批次檔程序即適用於 API。

明確而言,ClonePrep 會將指令碼的路徑傳遞至 CreateProcess API 作為第二個參數,並將第一個參數設定為 NULL。例如,如果指令碼路徑為 c:\myscript.cmd,則 CreateProcess 的呼叫為 CreateProcess(NULL,c:\myscript.cmd,...)

提供 ClonePrep 指令碼的路徑

您可以在建立或編輯桌面平台集區時指定指令碼。指令碼必須位於最佳配置映像上。您不可使用網路共用的 UNC 路徑。

如果您使用需要解譯器來執行指令碼的指令碼語言,則指令碼路徑的開頭必須是解譯器可執行檔。例如,您必須指定 C:\windows\system32\cscript.exe c:\script\myvb.vbs,而非 C:\script\myvb.vbs

重要: 請將 ClonePrep 自訂指令碼放在安全的資料夾中,以防止未經授權的存取。

ClonePrep 指令碼逾時限制

依預設,如果指令碼的執行時間超過 20 秒,ClonePrep 便會終止該指令碼。您可以提高此逾時限制。如需詳細資料,請參閱增加 ClonePrep 和 QuickPrep 自訂指令碼的逾時限制

或者,您可以指定會執行另一個指令碼或處理程序、且執行所需時間較長的指令碼。

ClonePrep 指令碼帳戶

ClonePrep 會使用 VMware Horizon Instant Clone Agent 服務所使用的相同帳戶來執行指令碼。依預設,此帳戶是 Local System。請不要變更此登入帳戶。若您這麼做,複製將無法啟動。

ClonePrep 程序權限

基於安全考量,在執行 ClonePrep 自訂指令碼的 VMware Horizon Instant Clone Agent 處理程序中,將會移除某些 Windows 作業系統權限。指令碼無法執行需要這些權限的動作。

執行 ClonePrep 指令碼的處理程序不具備下列權限:

  • SeCreateTokenPrivilege
  • SeTakeOwnershipPrivilege
  • SeSecurityPrivilege
  • SeSystemEnvironmentPrivilege
  • SeLoadDriverPrivilege
  • SeSystemtimePrivilege
  • SeUndockPrivilege
  • SeManageVolumePrivilege
  • SeLockMemoryPrivilege
  • SeIncreaseBasePriorityPrivilege
  • SeCreatePermanentPrivilege
  • SeDebugPrivilege
  • SeAuditPrivilege

ClonePrep 指令碼記錄檔

ClonePrep 會將訊息寫入位於 C:\ProgramData\VMware\VDM\Logs 的記錄檔。