您可在參考機器上安裝客體代理程式,以在部署後進一步自訂機器。您可以使用保留的客體代理程式自訂內容執行基本自訂 (例如,新增和格式化磁碟),或者您可以針對客體代理程式建立自己的自訂指令碼,以在已佈建機器的客體作業系統內執行。

部署完成且已執行自訂規格 (如果您提供) 後,客體代理程式會建立一個包含已部署機器之所有自訂內容的 XML 檔案 (c:\VRMGuestAgent\site\workitem.xml),使用客體代理程式自訂內容完成指派至它的任何工作,然後將其自身從已佈建機器刪除。

您可以寫入自己的自訂指令碼以在已部署機器上執行客體代理程式,並使用機器藍圖上的自訂內容指定這些指令碼的位置和執行順序。也可以使用機器藍圖上的自訂內容,將自訂內容值做為參數傳遞至指令碼。

例如,可以使用客體代理程式在已部署機器上做出下列自訂:

  • 變更 IP 位址

  • 新增或格式化磁碟機

  • 執行安全指令碼

  • 初始化其他代理程式,例如,Puppet 或 Chef。

自訂指令碼無需在機器本機上安裝。只要已佈建機器具有指令碼位置的網路存取權,客體代理程式即可存取並執行指令碼。這可降低維護成本,原因在於您無需重建所有範本即可更新指令碼。

如果您選擇在已佈建機器上安裝用於執行自訂指令碼的客體代理程式,藍圖必須包含適當的客體代理程式自訂內容。例如,如果您在用於複製的範本上安裝客體代理程式、建立變更已佈建機器之 IP 位址的自訂指令碼,並將指令碼置於共用位置,需要在藍圖中加入許多自訂內容。

表格 1. 用於變更包含客體代理程式之已佈建機器的 IP 位址的自訂內容

自訂內容

說明

VirtualMachine.Admin.UseGuestAgent

設為 true,以在已佈建機器啟動時初始化客體代理程式。

VirtualMachine.Customize.WaitComplete

設定為 True 可防止佈建工作流程在所有自訂完成之前將工作項目傳送給客體代理程式。

VirtualMachine.SoftwareN.ScriptPath

指定應用程式安裝指令碼的完整路徑。該路徑必須是客體作業系統所看到的有效絕對路徑,且必須包含指令碼檔案的名稱。

可透過在路徑字串中插入 {YourCustomProperty},將自訂內容值做為參數傳遞至指令碼。例如,輸入值 \\vra-scripts.mycompany.com\scripts\changeIP.bat 會從共用位置執行 changeIP.bat 指令碼,但是輸入值 \\vra-scripts.mycompany.com\scripts\changeIP.bat {VirtualMachine.Network0.Address} 會執行 changeIP 指令碼,但也會將 VirtualMachine.Network0.Address 內容的值做為參數傳遞至指令碼。

如需有關可與客體代理程式搭配使用之自訂內容的詳細資訊,請參閱《自訂內容參考》