vSphere ESXi Image Builder cmdlets are implemented as Microsoft PowerShell cmdlets and included in PowerCLI. Users of vSphere ESXi Image Builder cmdlets can take advantage of all PowerCLI features.

Experienced PowerShell users can use vSphere ESXi Image Builder cmdlets just like other PowerShell cmdlets. If you are new to PowerShell and PowerCLI, follow these tips.

You can type cmdlets, parameters, and parameter values in the PowerCLI shell.

  • Get help for any cmdlet by running Get-Help cmdlet_name.
  • Remember that PowerShell is not case sensitive.
  • Use tab completion for cmdlet names and parameter names.
  • Format any variable and cmdlet output by using Format-List or Format-Table or their short forms fl or ft. See Get-Help Format-List.
  • Use wildcards for searching and filtering VIBs and image profiles. All wildcard expressions are supported.

Passing Parameters by Name

You can pass in parameters by name in most cases and surround parameter values that contain spaces or special characters with double quotes.

Add-EsxSoftwarePackage -ImageProfile profile42 -SoftwarePackage "partner package 35"

Passing Parameters as Objects

You can pass parameters as objects if you want to do scripting and automation. You can use the technique with cmdlets that return multiple objects or with cmdlets that return a single object.

  1. Bind the output of a cmdlet that returns multiple objects to a variable.
    $profs = Get-EsxImageProfile
  2. When you run the cmdlet that needs the object as input, access the object by position, with the list starting with 0.
    Add-EsxSoftwarePackage -ImageProfile $profs[4] -SoftwarePackage partner-pkg

The example adds the specified software package to the fifth image profile in the list returned by Get-EsxImageProfile.

Most of the examples in the vSphere Installation and Setup documentation pass in parameters by name. vSphere ESXi Image Builder Workflows includes examples that pass parameters as objects.