View Composer QuickPrep 自訂指令碼會因各種原則而失敗。

問題

QuickPrep 同步後指令碼或關閉電源指令碼無法執行。在某些情況下,指令碼在有些連結複製上可順利完成,但在其他連結複製上則會失敗。

原因

QuickPrep 指令碼常見的幾個失敗原因:

  • 指令碼逾時
  • 指令碼路徑所參照的指令碼需要解譯器
  • 用以執行指令碼的帳戶權限不足,無法執行指令碼工作

解決方案

  • 請檢查自訂指令碼記錄。
    QuickPrep 自訂資訊會寫入此目錄中的記錄檔:

    C:\ProgramData\VMware\VDM\Logs\Debug*.log

  • 確定指令碼是否逾時。
    View Composer 會終止時間超過 20 秒的自訂指令碼。記錄檔會顯示指令碼已啟動的訊息,後一則訊息則指出逾時:
    2010-02-21 21:05:47,687 [1500] INFO Ready - [Ready.cpp, 102] Running the PostSync script: cmd /c C:\temp\build\composer.bat 2010-02-21 21:06:07,348 [1500] FATAL Guest - [Guest.cpp, 428] script cmd /c C:\temp\build\composer.bat timed out

    若要解決逾時問題,請增加指令碼的逾時限制,並再執行一次。

  • 確定指令碼路徑是有效的。

    若您使用需要解譯器來執行指令碼的指令碼語言,指令碼路徑的開頭必須是解譯器二進位檔。

    例如,若您將路徑 C:\script\myvb.vbs 指定為 QuickPrep 自訂指令碼,View Composer Agent 則無法執行指令碼。您必須指定開頭是解譯器二進位檔路徑的路徑:

    C:\windows\system32\cscript.exe c:\script\myvb.vbs

  • 確定用來執行指令碼的帳戶具有執行指令碼工作的適當權限。

    QuickPrep 會在 VMware View Composer Guest Agent Server 服務設定要執行的帳戶下執行指令碼:依預設,此帳戶是 Local System

    請勿變更帳戶上的這個記錄,否則連結複製將無法啟動。