VMware vSphere PowerCLI 5.1 Release 1 Release Notes

Released 10 September 2012

Build 793510 is VMware vSphere PowerCLI 5.1 Release 1

VMware vSphere PowerCLI 5.1 Release 1 Release Notes

VMware vSphere PowerCLI provides a Windows Powershell interface to the VMware vSphere and vCloud APIs. VMware vSphere PowerCLI includes numerous cmdlets, sample scripts, and a function library.

This document contains the following information:

About VMware vSphere PowerCLI

VMware vSphere PowerCLI is a command-line and scripting tool built on Windows PowerShell, and provides more than 360 cmdlets for managing and automating vSphere and vCloud.

VMware vSphere PowerCLI Components and Versioning

VMware vSphere PowerCLI 5.1 Release 1 consists of two components:
  • vSphere PowerCLI 5.1 is the core component of the PowerCLI package. It contains four snapins with cmdlets for managing vSphere 5.1 features:
    • VMware.VimAutomation.Core: VMware vSphere PowerCLI 5.1 provides cmdlets for automated administration of the vSphere environment.
    • VMware.VimAutomation.License: VMware License PowerCLI 5.1 provides the Get-LicenseDataManager cmdlet for managing VMware License components.
    • VMware.ImageBuilder: VMware ImageBuilder PowerCLI 5.1 provides cmdlets for managing depots, image profiles, and VIBs.
    • VMware.DeployAutomation: VMware Auto Deploy PowerCLI 5.1 provides cmdlets that provide an interface to VMware Auto Deploy for provisioning physical hosts with ESXi software.
  • vCloud Director PowerCLI 1.5 is an optional component that you can install during the PowerCLI installation. It provides the VMware vCloud Director PowerCLI 1.5 snapin (VMware.VimAutomation.Cloud) with cmdlets for automating the vCloud Director 1.5.1 features.


To use VMware vSphere PowerCLI, you need to have installed the following software:

  • Windows PowerShell 2.0
  • A supported version of .NET Framework
    • .NET Framework 2.0 with Service Pack 2
    • .NET Framework 3.0 or .NET Framework 3.0 with Service Pack 1, or Service Pack 2
    • .NET Framework 3.5 or .NET Framework 3.5 with Service Pack 1

Supported Platforms

VMware vSphere PowerCLI 5.1 Release 1 works on the following operating systems:

  • Windows 7 Service Pack 1 (32-bit and 64-bit)
  • Windows Server 2008 R2 Service Pack 1
  • Windows Server 2008 Service Pack 1 (32-bit)
  • Windows XP Service Pack 3 (32-bit)
  • Windows XP Service Pack 2 (32-bit and 64-bit)
  • Windows Server 2003 R2 (32-bit and 64-bit)

The following PowerCLI features are supported only on the 32-bit version of Windows PowerShell.

  • New-OSCustomizationSpec and Set-OSCustomizationSpec
  • New-VM and Set-VM (only when used for applying customization specifications)

When running against vCenter Server or ESX/ESXi versions earlier than 5.0, the following PowerCLI features are supported only on the 32-bit version of Windows PowerShell.

  • Invoke-VMScript
  • Copy-VMGuestFile
  • New-VMGuestRoute, Get-VMGuestRoute, and Remove-VMGuestRoute
  • Get-VMGuestNetworkInterface and Set-VMGuestNetworkInterface
  • Set-HardDisk (only when used for resizing guest disk partitions)

VMware vSphere PowerCLI 5.1 Release 1 supports the following VMware environments:

  • vCenter Server 5.1
  • VMware ESXi 5.1
  • vCenter Server 5.0 Update 1
  • VMware ESXi 5.0 Update 1
  • vCenter Server 4.1 Update 2
  • VMware ESXi 4.1 Update 2
  • vCenter Server 4.0 Update 4
  • VMware ESX 4.0 Update 4
  • VMware ESX 4.0i Update 4

vCloud Director PowerCLI 1.5 is compatible with VMware vCloud Director 1.5.1.

What's New in This Release?

New Features

This release of vSphere PowerCLI introduces a number of new capabilities.

  • The vCloud Director PowerCLI snapin provides extended administration and management options.
    • You can create, modify, manage, and remove organizations.
    • You can create and manage permissions.
    • You can assign computing and networking resources.
    • You can create, modify, and remove organization networks.
    • You can create, modify, and remove vApp networks.
    • You can create, modify, manage, and remove vApps.
    • You can manage virtual machines and their guest operating systems within vApps.
  • The vSphere PowerCLI snapin introduces a number of improvements and new features.
    • You can use Kerberos for pass-through authentication with vCenter Server, ESX/ESXi, and vCenter Virtual Appliance systems.
    • You can create linked clones with New-VM.
    • You can pass datastore clusters to the Datastore parameters.
    • You can retrieve vSphere objects from vCloud Director objects with the RelatedObject parameter.
    • You can manage resources more efficiently with SDRS support added to a number of cmdlets.
    • You can retrieve, create, modify, and remove VMHost, VM, and SDRS advanced settings with the the Get-AdvancedSetting, New-AdvancedSetting, Set-AdvancedSetting, and Remove-AdvancedSetting cmdlets.
  • vSphere PowerCLI 5.1 Release 1 brings a set of improvements that enhance security and customization.
    • You can set the scope of your settings with the Scope parameter of Set-PowerCLIConfiguration.
    • You can initialize custom vSphere PowerCLI scripts automatically by storing them in the Initialize-PowerCLIEnvironment_Custom.ps1 script configuration file.
  • For more information on changes made in vSphere PowerCLI 5.1 Release 1, including improvements, security enhancements, and deprecated features, see the vSphere PowerCLI Change Log. For more information on specific product features, see the VMware vSphere PowerCLI 5.1 User's Guide. For more information on specific cmdlets, see the VMware vSphere PowerCLI 5.1 Cmdlet Reference.

Known Issues

VMware vSphere PowerCLI 5.1 Release 1 is known to have the following issues:

  • Apply-DrsRecommendation
    Apply-DrsRecommendation runs in asynchronous mode even when called without the RunAsync parameter.
  • Connect-VIServer
    Connect-VIServer cannot use the Kerberos network authentication protocol to connect to vCenter Server systems that are installed under a custom user account on a Windows system. Connect-VIServer uses NTLM instead.

    Workaround: Install and run vCenter Server under the default system account. Alternatively, you can:
    1. Add another IP to the Windows system where vCenter Server is running.
    2. Register a new A DNS record for the IP.
    3. Run the setspn tool to register an SPN for the new DNS record and associate it with the vCenter Server account under which vCenter Server was installed.

      For example: To register an SPN for the vc-alias.domain.com DNS and the VCAccount account, run:
      setspn -A -HOST/vc-alias.domain.com Domain\VCAccount
    4. Use the new DNS name to connect to the vCenter Server system.
      For example: Run Connect-VIServer vc-alias.domain.com
  • Copy-DatastoreItem
    Copy-DatastoreItem throws an error when uploading an item to the root folder of a Datastore Provider drive.

  • Copy-HardDisk
    On vCenter Server 5.0, Copy-HardDisk cannot change the storage format of the destination hard disk.

  • Get-HardDisk
    The value of the Persistence property of the object returned by Get-HardDisk is different depending on the way the hard disk is retrieved by the cmdlet.
  • Get-ScsiLun
    When you use Get-ScsiLun to retrieve Powerpath devices, the value of their MultipathPolicy property is shown as Unknown.
  • Get-Template
    The Location parameter of Get-Template does not accept Cluster objects.
  • Get-UsbDevice
    Get-UsbDevice cannot obtain USB devices from snapshots.
  • Get-View
    If you run Get-View with the SearchRoot and ViewType parameters and specify a property path for the Property parameter, the linked view of the cmdlet output is not populated.
  • Get-VIEvent
    • If a nonexisting user is specified, Get-VIEvent returns the events for all existing users.
    • Objects returned by Get-VIEvent contain ManagedObjectReference types that are not compatible with the Get-View cmdlet.
  • Get-VM
    During the process of creating a template from a virtual machine, Get-VM returns both the virtual machine and template objects.
  • Get-VMHostProfileRequiredInput
    On vCenter Server 5.0, Get-VMHostProfileRequiredInput returns a result even if you pass a hashtable with inapplicable elements.
  • Install-VMHostPatch
    • On ESX 4.0, the LocalPath parameter does not accept paths to .vib files as arguments.
    • Install-VMHostPatch cannot install patches on diskless ESXi servers.
    • Install-VMHostPatch cannot apply VIB patches.
    Workaround: Use metadata.zip patches.
  • Invoke-VMScript
    When using Invoke-VMScript to invoke multi-line BAT and BASH scripts, the command might not run all the script lines.
  • New-CIVAppNetwork
    You can create a vApp network by specifying inconsistent network settings. While the settings of the newly created vApp network are inconsistent, you can only modify them to restore their consistency. To configure the vApp network, run Set-CIVAppNetwork.
  • New-HardDisk
    New-HardDisk does not prompt for confirmation when you try to create a VMDK anti-affinity rule that overwrites an existing one.
  • Set-ScsiController
    Set-ScsiController cannot set both the Type and BusSharing parameters at the same time.

    Workaround: First run the cmdlet to set the type and then run it again to configure the bus sharing mode.
  • Set-ScsiLun
    The CommandsToSwitchPathBlocksToSwitchPath, NoCommandsSwitch, and NoBlocksSwitch parameters of Set-ScciLun do not work on ESX 4.0 and later.
  • Set-VMGuestNetworkInterface
    • On Windows operating systems, Set-VMGuestNetworkInterface becomes non-responsive if the provided IP address conflicts with an existing IP address on the network.
    • Set-VMGuestNetworkInterface cannot configure the DNS address correctly on Linux operating systems.
  • Set-VMHost
    When an ESX/ESXi host is registered with multiple vCenter Server systems, you cannot change the state of the disconnected host to connected.

    1. Run Remove-VMHost to remove the disconnected host from the vCenter Server system that it is registered with.
    2. Run Add-VMHost to attach the host to the vCenter Server system again.
    3. (Optional) Run Set-VMHost to restore the initial configuration of the host.
    The operation authenticates you with the host and automatically changes its state to connected.
  • Set-VMHostAccount
    If you pass a collection of valid and invalid objects to the AssignUsers or AssignGroups parameter, Set-VMHostAccount throws an error when it encounters the first invalid object and stops processing the remaining objects.
  • Set-VMHostNetwork
    Set-VMHostNetwork cannot clear the values of the ConsoleV6Gateway and VMKernelV6Gateway properties of the input object.
  • Set-VMHostNetworkAdapter
    If you have vMotion enabled on one VMKernel NIC and you enable it on a second NIC on the same switch by using Set-VMHostNetworkAdapter, the VMotionEnabled property of the second NIC might still report that vMotion is not enabled. This is because only one NIC can be selected for vMotion, but more than one can be candidate NICs for vMotion. To change the currently active vMotion NIC, first disable the current one and then enable the one you want.
  • Set-VMHostSNMP
    • The default value of the Set-VMHostSNMP TargetPort parameter is a random number instead of the port number.
    • Set-VMHostSNMP skips the value of the TargetPort parameter.
    • Set-VMHostSNMP fails to enable VMHostSNMP and to set the ReadOnlyCommunityString when called for the first time.
    Workaround: Run the command again.
  • Get-CIDatastore
    When you specify the ProviderVdc parameter, Get-CIDatastore might return incorrect results if multiple provider virtual datacenters share a datastore.
  • Get-CIVM
    When you are logged in as SysAdmin, the Get-CIVM cmdlet returns system vShield Edge virtual machines used to establish perimeter security in the NAT-routed network.
  • Get-CIVApp
    Get-CIVApp returns all virtual appliance objects in the inventory including expired ones.
  • Get-CIVAppTemplate
    Get-CIVAppTemplate returns all virtual appliance templates in the inventory including expired ones.
  • Inventory Provider
    When run within the Inventory Provider, Get-Datacenter returns the datacenters from the default servers instead from the VIServer folder of the Inventory Provider drive.
  • Other
    • On vCenter Server 5.0 or ESXi 5.0 platforms, all guest-related cmdlets have slow and unstable behavior due to the slow performance of VMware Tools.
    • The VirtualMachine parameter of the PowerCLI cmdlets is defined with the deprecated Description property of the VirtualMachine type, instead of the new one named Notes. As a result, the PowerShell auto-complete function works with the deprecated property name.
    • The types labels in the UpdateViewData property are case-sensitive.
    • When running in 64-bit mode, PowerCLI cannot detect the registry key HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware vSphere PowerCLI\, which is used for determining the PowerCLI installation folder. Instead, you can use the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VMware, Inc.\VMware vSphere PowerCLI.
    • All VIX cmdlets support use of SSPI for Windows guest machines if the underlying vCenter Server is version 5.0. This might not be valid for users who are local, and not domain users. VIX cmdlets are Invoke-VMScript, Copy-VMGuestFile, *-VMGuestNetworkInterface, *-VMGUestRoute, and Set-HardDisk when used for guest disk resizing.

Resolved Issues

The following issues have been resolved in VMware vSphere PowerCLI 5.1 Release 1:

  • Get-NetworkAdapter
    Get-NetworkAdapter does not throw an error message if you try to retrieve a nonexisting adapter.
  • New-OSCustomizationSpec
    Cloning a server-side customization specification with New-OSCustomizationSpec changes the values of the PlainText properties from true to false.
  • New-VIPermission
    If you use New-VIPermission to create a permission for a distributed switch, the Entity property of the returned object is null.
  • Set-Annotation
    Set-Annotation cannot set an annotation for a custom attribute if another custom attribute with the same name exists.
  • Set-HardDisk
    Increasing the size of a system partition on Windows 7 and Windows Server 2008 by using the GuestDiskResize parameter of Set-HardDisk is not supported.
  • Set-VM
    On vCenter Server 5.0, when you use Set-VM to upgrade the virtual machine hardware version, the output of the cmdlet displays the old value although the version has been updated successfully.
  • Set-VMHost
    Set-VMHost might not populate the VMSwapfileDatastoreId property of the returned VMHost object when VMSwapFilePolicy or VMSwapFileDatastore properties are modified.

    Workaround: Use Get-VMHost to retrieve the object returned by Set-VMHost.
  • Set-VMGuestNetworkInterface
    Changing the value of the IPPolicy parameter to Static with Set-VMGuestNetworkInterface changes the value of the WinsPolicy parameter to Static as well.
  • Other
    The Model and Vendor properties of the ScsiLun objects are always filled up with whitespaces to 16 (for Model) and 8 (for Vendor) characters.

Installing VMware vSphere PowerCLI

VMware provides a single installer for VMware vSphere PowerCLI.

To install VMware vSphere PowerCLI components

  1. Download VMware vSphere PowerCLI 5.1 Release 1.
  2. Navigate to the local folder that contains the PowerCLI installer file you downloaded and double-click the executable file.
  3. On the Welcome page, click Next.
  4. On the VMware Patents page click Next.
  5. Accept the license agreement terms and click Next.
  6. On the Custom Setup page, select the PowerCLI components you want to install.
  7. (Optional) To change the default location to install VMware vSphere PowerCLI, click Change and select a different Destination Folder.
  8. Click Next.
  9. On the Ready to Install the Program page, click Install to proceed with the installation.
  10. Click Finish to complete the installation process.

For more information about installing PowerCLI 5.1 Release 1, see the VMware vSphere PowerCLI 5.1 User's Guide.