您可以使用 PowerCLI 來複製和編輯映像設定檔,藉以建立自訂映像。您可以在現有設定檔中新增或移除一或多個 VIB。如果新增或移除 VIB 會導致映像設定檔無法正常運作,則會發生錯誤。

必要條件

  • PowerCLI 和必備軟體已安裝。請參閱安裝 vSphere ESXi Image Builder 和必備軟體
  • 您有權存取包含基本映像和一或多個 VIB 的存放庫。VMware 和 VMware 合作夥伴會提供可透過 URL 進行存取的公開存放庫。VMware 或 VMware 合作夥伴可以建立 ZIP 檔案,您可以將該檔案下載到本機環境並使用檔案路徑進行存取。

程序

  1. PowerCLI 工作階段中,針對您要使用的每個存放庫執行 Add-EsxSoftwareDepot cmdlet。
    選項 動作
    遠端存放庫 執行 Add-EsxSoftwareDepot -DepotUrl <depot_url>
    ZIP 檔案
    1. 將 ZIP 檔案下載到本機檔案系統。
    2. 執行 Add-EsxSoftwareDepot -DepotUrl C:\<file_path>\<offline-bundle>.zip
    Cmdlet 會傳回一或多個 SoftwareDepot 物件。
  2. 使用管線將要編輯的映像設定檔傳遞到 format-list,來查看詳細資訊。
    在此範例中, 建立新映像設定檔工作流程中建立的映像設定檔僅包含基礎映像。存放庫中不包含新建立的映像設定檔。但是,您可以依名稱存取映像設定檔,或者將它繫結到某個變數來進行存取。
    Get-EsxImageProfile "Test #2" | format-list
    PowerShell 會傳回資訊。
    Name            : Test #2
    Vendor 	      : Vendor42
    ...
    VibList	      : {esx-base 5.0.0.-...,}
  3. (選擇性) 如果要新增接受程度低於映像設定檔接受程度的 VIB,請變更映像設定檔的接受程度。
    Set-EsxImageProfile -ImageProfile "Test #2" -AcceptanceLevel VMwareAccepted 
    			 
    PowerShell 會以表格格式傳回已變更設定檔的相關資訊。
    Name           Vendor           Last Modified       Acceptance Level
    ----           ------           -------------       ----------------
    Test #2        Vendor42         9/22/2010 12:05:... VMwareAccepted
  4. 將軟體套件 (VIB) 新增到映像設定檔。您可以依名稱新增套件。
    Add-EsxSoftwarePackage -ImageProfile "Test #2"
    				-SoftwarePackage NewPack3
    PowerShell 會以表格格式傳回映像設定檔的相關資訊。
    Name           Vendor           Last Modified       Acceptance Level
    ----           ------           -------------       ----------------
    Test #2        Vendor42         9/22/2010 12:05:... VMwareAccepted
    備註: 如果新增軟體套件時發生錯誤,可能是接受程度有問題,請參閱 使用接受程度
  5. 再次檢視映像設定檔。
    Get-EsxImageProfile "Test #2" | format-list
    VIB 清單會更新來包含新的軟體套件,並顯示下列資訊。
    Name            : Test #2
    Vendor 	      : Vendor42
    ...
    VibList	      : {esx-base 5.0.0.-..., NewPack3}

範例: 使用變數編輯映像設定檔

此 cmdlet 序列會重複此工作流程的步驟,但以物件傳遞參數 (在變數中依位置存取),而非依名稱傳遞參數。您可以在 PowerCLI 提示字元中按順序執行下列 cmdlet。

Add-EsxSoftwareDepot -DepotUrl depot_url
$ip2 = Get-EsxImageProfile -name "Test #2"
$ip2 | format-list
Set-EsxImageProfile -ImageProfile $ip2 -AcceptanceLevel VMwareAccepted
Add-EsxImageSoftwarePackage -ImageProfile $ip2 -SoftwarePackage NewPack3
$ip2 | format-list