通过克隆和编辑映像配置文件可以创建自定义映像。可以在现有配置文件中添加或替换一个或多个 VIB。如果添加或替换 VIB 会使映像配置文件不一致,则会出现错误。

在此工作流中使用这些 cmdlet 之前,请确保您的环境满足以下要求。

  • 已安装 VMware PowerCLI 和必备软件。请参见安装 Image Builder PowerCLI 和必备软件

  • 有权访问包含一个基本映像以及一个或多个 VIB 的库。VMware 和 VMware 合作伙伴会提供可通过 URL 进行访问的公用库。VMware 或 VMware 合作伙伴可以创建一个 ZIP 文件,您可以将其下载到本地环境并使用文件路径进行访问。

  1. 在 PowerShell 提示符处,将包含要编辑的映像配置文件的库添加到当前会话。

    对于远程库,运行 Add-EsxSoftwareDepot -DepotUrl 库 url

    对于脱机库 ZIP 文件,您必须先下载 ZIP 文件。

    1. 将 ZIP 文件下载到本地文件路径。

    2. 运行 Add-EsxSoftwareDepot -DepotUrl C:\file_path\offline-bundle.zip

  2. 将要编辑的映像配置文件传递到 format-list,以查看详细信息。在本示例中,创建全新映像配置文件工作流中创建的映像配置文件只包含基本映像。库中不包含新创建的映像配置文件。但是,您可以按名称访问映像配置文件,或者将其绑定到某个变量来进行访问。

    Get-EsxImageProfile "Test #2" | format-list

    PowerShell 会返回格式化的信息。

    名称:Test #2
    供应商	      : 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 列表将更新为包含新的软件包,并且显示以下信息。

    名称:Test #2
    供应商	      : 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