ClonePrep 可在创建过程中对即时克隆进行自定义。

ClonePrep 可确保所有即时克隆全部加入 Active Directory 域。这些克隆具有与主映像相同的计算机安全标识符 (Security Identifier, SID)。ClonePrep 还会保留应用程序的全局唯一标识符 (Globally Unique Identifier, GUID),不过某些应用程序可能会在自定义期间生成一个新的 GUID。

添加即时克隆桌面池时,您可以指定一个在创建克隆后立即运行的脚本,以及另外一个在克隆关闭电源之前运行的脚本。

ClonePrep 如何运行脚本

ClonePrep 使用 Windows CreateProcess API 来运行脚本。您的脚本可以调用任何可通过 CreateProcess API 创建的进程。例如,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:\Windows\Temp\vmware-viewcomposer-ga-new.log