可以使用 Compare-EsxImageProfile cmdlet 比较两个映像配置文件,用以查看这两个映像配置文件是否有相同的 VIB 列表或接受程度等。还可以使用 PowerShell 比较运算符比较映像配置文件或其属性。

前提条件

安装 PowerCLI 和所有必备软件。请参见安装 vSphere ESXi Image Builder 和必备软件

过程

  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. (可选) 运行 Get-EsxImageProfile cmdlet 可查看所有可用库中所有映像配置文件的列表。
    在该列表中可以找到待比较映像配置文件的名称。
  3. 在比较映像配置文件之前,请将它们分配给变量。
    例如,可以创建 $imageProfile1$imageProfile2 变量,用来存放待比较映像配置文件的名称。
    $imageProfile1
    				= Get-EsxImageProfile -Name "ImageProfile1"
    $imageProfile2
    				= Get-EsxImageProfile -Name "ImageProfile2"
  4. 可以使用 Compare-EsxImageProfile cmdlet 或使用将会返回布尔值的 -eq 比较运算符比较两个映像配置文件。
    • 使用 Compare-EsxImageProfile cmdlet 对两个映像配置文件进行比较,以获取完整的差异说明。
      Compare-EsxImageProfile -ReferenceProfile
      					 $imageProfile1 -ComparisonProfile $imageProfile2
    • 使用 -eq 比较运算符,按 VIB 列表和接受程度对两个映像配置文件进行比较。
         if ($imageProfile1 -eq $imageProfile2) {
            Write-host "Successfully verified that both image profiles are equal."
         } else {
            Write-host "Failed to verify that the image profiles are equal."
         }
    • 使用 -eq 比较运算符,按特定属性对两个映像配置文件进行比较。
         if ($imageProfile1.vendor -eq $imageProfile2.vendor) {
            Write-host "Successfully verified that both image profiles are equal."
         } else {
            Write-host "Failed to verify that the image profiles are equal."
         }