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。
請勿變更帳戶上的這個記錄,否則連結複製將無法啟動。