建立程序期間自訂即時複製 Windows 虛擬機器 (VM) 有兩個選項:VMware ClonePrep 或 Microsoft Sysprep。

備註: 此頁面介紹了 Windows 即時複製的客體自訂選項。如需有關自訂 Linux 即時複製的相關資訊,請參閱 使用 ClonePrep 自訂 Linux 桌面平台

ClonePrep 是一種在即時複製部署期間執行的 VMware 自訂程序,可將從父系映像建立的每個桌面平台複製個人化。

Sysprep 是一項 Microsoft 工具,可從基礎映像部署已設定的作業系統安裝。然後可以根據回應指令碼自訂該桌面平台。

客體自訂選項

ClonePrep 和 Sysprep 可確保所有的即時複製皆加入 Active Directory 網域。使用 ClonePrep 時,這些複製具有與最佳配置映像相同的電腦安全性識別碼 (SID)。如果即時複製需要具有彼此不同且與最佳配置映像不同的 SID,請使用 Sysprep。雖然某些應用程式會在自訂期間產生新的 GUID,但 ClonePrep 也會保留應用程式的全域唯一識別碼 (GUID)。如需有關各種不同複製類型的更多指引,請參閱知識庫文章 2003797

在新增即時複製桌面平台集區時,無論使用的是 ClonePrep 還是 Sysprep,您都可以指定指令碼,使得它可以在建立複製後立即執行,以及另一個要在關閉複製電源前執行的指令碼。

  • 執行指令碼

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

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

  • 提供指令碼路徑

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

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

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

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

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

  • 指令碼帳戶

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

  • 處理程序權限

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

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

    • SeCreateTokenPrivilege
    • SeTakeOwnershipPrivilege
    • SeSecurityPrivilege
    • SeSystemEnvironmentPrivilege
    • SeLoadDriverPrivilege
    • SeSystemtimePrivilege
    • SeUndockPrivilege
    • SeManageVolumePrivilege
    • SeLockMemoryPrivilege
    • SeIncreaseBasePriorityPrivilege
    • SeCreatePermanentPrivilege
    • SeDebugPrivilege
    • SeAuditPrivilege
  • 指令碼記錄

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

Sysprep 客體自訂 (使用預先建立的電腦帳戶)

您可以使用 Microsoft Sysprep 自訂來佈建即時複製桌面平台集區。在此工作流程中,Horizon 將預先建立一些電腦帳戶。使用 Sysprep 自訂時,還可以設定關機前指令碼和同步後指令碼。

請注意下列 Microsoft Windows 客體中關於 Sysprep 的資訊。
  • 對於安裝在最佳配置映像虛擬機器上的某些 Appx 套件,Microsoft Sysprep 處理程序可能會失敗。您必須手動從最佳配置映像虛擬機器中移除這些 Appx 套件,才能完成複製佈建程序。請參閱 Microsoft 支援網站
  • Sysprep 可能會失敗,因為有擱置中的 Windows 更新。若要避免此情況,請在最佳配置映像虛擬機器上執行 Microsoft Windows Update,並考慮停用即時複製的 Microsoft Windows Update 服務。您也可以檢查 [Windows Update] 頁面,以確認沒有顯示擱置中的更新或錯誤。
  • 依預設,Sysprep 一般化會停用內建的管理員帳戶。如果最佳配置映像虛擬機器上沒有其他使用者帳戶,且複製自訂失敗,使用者將無法登入複製虛擬機器以收集偵錯資訊。嘗試以本機管理員身分登入時,使用者將在登入畫面上看到一則訊息,指出「您的帳戶已停用」。請連絡您的系統管理員。若要解決此問題,請依照 Microsoft 支援網站上的指示,在最佳配置映像虛擬機器上建立新的使用者帳戶。
  • vTPM 裝置可透過 ClonePrep 或 Microsoft Sysprep 客體自訂新增至即時複製。依預設,即時複製的智慧佈建會使用模式 B (在不使用父虛擬機器的情況下建立的複製)。但是,如果在版本早於 7.0 Update 3f 的 ESXi 主機上使用 vTPM 裝置,則智慧佈建會選取模式 A (在使用父虛擬機器的情況下建立的複製)。如需有關變更佈建模式的相關資訊,請參閱知識庫文章 81026

Sysprep 客體自訂 (無需使用預先建立的電腦帳戶)

在此客體自訂中,Microsoft Sysprep 將預先建立電腦帳戶,而非 Horizon。如果您的 AD 環境很複雜,且包含多個站台和資料中心,則可能會遇到知識庫文章 https://kb.vmware.com/s/article/2147129 中所述的佈建問題。只有一小部分具有多個 AD 站台和資料中心的客戶遇到過這個問題。無需使用預先建立的電腦帳戶,即可使用 Sysprep 客體自訂來自動選取 AD 站台,以全域或在集區層級建立即時複製集區。在使用新的佈建工作流程為所有集區全域啟用該功能之前,可在集區層級啟用該功能,以便在測試集區上測試該工作流程。請參閱啟用 Sysprep 客體自訂 (無需使用預先建立的電腦帳戶)