New release: PowerCLI 6.3 R1–Download it today!

It is my pleasure to inform you that vSphere PowerCLI 6.3 Release 1 has now been released and as usual we have some great features to ensure you are able to automate even more features and in this release, faster than ever!  As always we take feature requests directly from customers, through feedback at conferences, by looking at the communities and multiple other ways. please do keep giving us your feedback to enable us to keep making the product easier and making automation tasks less painful.

PowerCLI 6.3 R1 introduces the following new features and improvements:


Get-VM is now faster than ever!

imageThe Get-VM Cmdlet has been optimized and refactored to ensure maximum speed when returning larger numbers of virtual machine information. This was a request which we heard time and time again, when you start working in larger environments with thousands of VMs the most used cmdlet is Get-VM so making this faster means this will increase the speed of reporting and automation for all scripts using Get-VM. Stay tuned for a future post where we will be showing some figures from our test environment but believe me, its fast!


New-ContentLibrary access

imageNew in this release we have introduced a new cmdlet for working with Content Library items, the Get-ContentLibraryItem cmdlet will list all content library items from all content libraries available to the connection. This will give you details and set you up for deploying in our next new feature….

The New-VM Cmdlet has been updated to allow for the deployment of items located in a Content Library. Use the new –ContentLibrary parameter with a content library item to deploy these from local and subscribed library items, a quick sample of this can be seen below:

$CLItem = Get-ContentLibraryItem TTYLinux
New-VM -Name “NewCLItem” -ContentLibraryItem $CLItem -Datastore datastore1 -VMHost

Or even simpler….

Get-ContentLibraryItem -Name TTYLinux | New-VM -Datastore datastore1 -VMHost


ESXCLI is now easier to use

Another great feature which has been added has again come from our community and users who have told us what is hard about our current version, the Get-Esxcli cmdlet has now been updated with a –V2 parameter which supports specifying method arguments by name.

The original Get-ESXCLI cmdlet (without -v2) passes arguments by position and can cause scripts to not work when working with multiple ESXi versions or using scripts written against specific ESXi versions.

A simple example of using the previous version is as follows:

$esxcli = Get-ESXCLI -VMHost (Get-VMhost | Select -first 1)


Notice all the $nulls ?  Now check out the V2 version:

$esxcli2 = Get-ESXCLI -VMHost (Get-VMhost | Select -first 1) -V2

$arguments = $

$arguments.count = 2

$ = “”



Get-View, better than ever

imageFor the more advanced users out there, those who constantly use the Get-View Cmdlet you will be pleased to know that a small but handy change has been made to the cmldet to enable it to auto-complete all available view objects in the Get-View –ViewType parameter, this will ease in the use of this cmdlet and enable even faster creation of scripts using this cmdlet.


Updated Support

As well as the great enhancements to the product listed above we have also updated the product to make sure it has now been fully tested and works with  Windows 10 and PowerShell v5, this enables the latest versions and features of PowerShell to be used with PowerCLI.

PowerCLI has also been updated to now support vCloud Director 8.0 and vRealize Operations Manager 6.2 ensuring you can also work with the latest VMware products.


More Information and Download

For more information on changes made in vSphere PowerCLI 6.3 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 6.3 Release 1 User’s Guide. For more information on specific cmdlets, see the VMware vSphere PowerCLI 6.3 Release 1 Cmdlet Reference.

You can find the PowerCLI 6.3 Release 1 download HERE. Get it today!


48 comments have been added so far

  1. How can I specify switch parameter for esxcli?

    $arguments = $
    $arguments.depot = ‘/vmfs/volumes/Templates/ImageProfiles/’
    $arguments.profile = ‘Dell-ESXi-5.5.0-20160204001-standard’
    #$arguments.’no-live-install’ = $true

    throws an error:

    Index (zero based) must be greater than or equal to zero and less than the size of the argument list.

  2. Can line 306 of the Initialize-PowerCLIEnvironment.ps1 be removed in future releases? After the script finishes, it changes the working directory to C:\. This prevents the “VMware vSphere PowerCLI” shortcut from starting in the preferred working directory as set in the “Start in:” field.

    # Find and execute custom initialization file
    $existsCustomInitScript = Test-Path $CustomInitScript
    if($existsCustomInitScript) {
    & $CustomInitScript

    cd \

  3. VMware releases the worst code now. The management there is running vmware into the ground and if vmware continues to release worthless non-functioning software like this piece of junk software PowerCli 6.3 that doesn’t even have connect-vsiserver in it. How the heck can I use it if it doesn’t even contain the module to connect to vcenter.

    Every release in the past 2 years has been complete crap with horrible code by India with bugs embedded on purpose. Stop ruining this company hiring worthless coders from India and bring back the stable quality vmware code we bought into!

    I hate Hyper-V but will continue to watch it and switch sooner then later because the lack of vmware to provide functional software is ridiculous. I have to throw away a decade of experience because VMware is turning into a steaming pile that nobody is going to trust anymore.

    1. Thanks for your comment, I am the Product manager for PowerCLI and want to inform you that this is not actually created in India and also wanted to help resolve your problem.

      Please can you send me more information about what you are encountering so I can help?

  4. Hey TJ,

    You sure that you typed the right command. Connect-VIServer works fine on this version. I will love to see anymore bugs that you think are there in this version?

  5. Hi,
    Why does ContentLibraryItem not worh together with OSCustomizationSpec??
    Wen have 3 vCenters and want to use one Base image in all 3 to deploy new Servers. We worked with templates and OSCustomizationSpec and tried to switch to ContentLibrary but the two functions do not work together!

  6. Can the new 6.3 run with Orchestrator 2012? I had the command working fine with PowerCLI 5.x and Orchestrator, but now with 6.x The Run.Net doesn’t know what the Connect-viserver means. Anyone?

    Add-PSSnapin VMware.VimAutomation.Core

    $vCenter = “”
    $vCenterUser = “”
    $vCenterUserPassword = “”

    #Connects to based on the credentials from above. The script lets you know its connecting in green.
    write-host “Connecting to vCenter Server $vCenter” -foreground green
    Connect-viserver $vCenter -user $vCenterUser -password $vCenterUserPassword -WarningAction 0

  7. Please tell me where I can find information on enabling/disabling Lockdown Mode .

    This doesn’t work:

    (get-vmhost $ESXhost | get-view).ExitLockdownMode()

  8. Hello,

    since I updated from PowerCLI 6.0.0 to 6.3.0 there is a problem with the Get-VM command.
    I think it is a permission problem, because the admin-User gets a list of all VMs when I write “get-vm” in Powershell.

    But the other users (Role is Administrator defined in a folder) get no VMs as response for get-vm.
    With PowerCLI 6.0.0 it worked without problems.

    Which permission has to be set in vSphere to get “GET-VM” working again?

    1. I don’t know if your Get-VM issue is the same as mine. Since I’ve upgraded to 6.3R1 on multiple machines/OSs a standard Get-VM returns an error below …

      get-vm : 7/6/2016 11:46:11 AM Get-VM Value cannot be null.
      Parameter name: source
      At line:1 char:1
      + get-vm
      + ~~~~~~
      + CategoryInfo : NotSpecified: (:) [Get-VM], VimException
      + FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetVM

      Adding a wildcard is successful (Get-VM *)and gives me a full list of VMs. Using any of the parameter options with Get-VM works fine, also.

      1. Thank you for your reply.
        I tried (get-vm *) but it did not solve the problem.

        I am still getting no VM in PowerShell with Powershell 6.3.0.
        In 6.0.0 there is no problem.

  9. Perhaps you mean PowerCLI 6.3.0? PowerSHell itself is at 5.0, if you are running Win10 or have upgraded your local WMF.

  10. Will PowerCLI ever become a module, rather than it’s own Posh host?
    It would be great to be able to keep it up to date with PowerShellGet.

  11. Maybe related, maybe not, but I noticed that when I moved to powerCLI 6.3 I had to grant permissions at the vCenter level for the service account that was logging in using connect-viserver. Looks like maybe there was a change in connect-viserver that wants permissions at the vCenter object instead of only at the datacenter or cluster level.

  12. This use to work. What replaced New-DatastoreDrive?

    Get-Datastore datastore2 | New-DatastoreDrive -Name ds
    Copy-DatastoreItem -Item z:\Win2012_R2_Std.ova -Destination ds:\temp\ -Force
    $ovfpath = Get-ChildItem ds:\temp\Win2012_R2_Std.ova

  13. Pingback: voskuilbeheer
  14. Many congratulation on this new release! I hope this time also, the existing users could get involved with the new features! I have been working as a great way to improve the quality of the services. I am a senior advisor at this flirtymania site and help people with wonderful conversation. Thanks for sharing this post with us.

  15. Many congratulation on this new release! I hope this time also, the existing users could get involved with the new features! I have been working as a great way to improve the quality of the services. I am a senior advisor at this site and help people with wonderful conversation. Thanks for sharing this post with us.

  16. Many congratulation on this new release! I hope this time also, the existing users could get involved with the new features! I have been working as a great way to improve the quality of the services. I am a senior advisor at this site and help people with wonderful conversation. Thanks for sharing this post with us.

Leave a Reply

Your email address will not be published. Required fields are marked *