General

New Release: VMware PowerCLI 11.3.0

Today marks the release of VMware PowerCLI 11.3.0 and this one brings the count up to 732 different cmdlets. The combination of all these cmdlets allow us to manage and automate a majority of the VMware ecosystem! The HCX module receives the bulk of the new cmdlets, however there is also a new cmdlet to interact with the vSphere Storage Policy Based Management (SPBM) APIs. There is a new way to view opaque network types and a high-level method of promoting instant clones to full clones. Last, but certainly not least, this release also includes a handful of updates for reported issues and two deprecations.

PowerCLI 11.3.0 comes with the following updates:

  • Added 22 new cmdlets for HCX and SPBM management
  • Added support for vSphere 6.7 Update 2 to the VMware.VIM module
  • Added support for opaque networks to the Get-VirtualNetwork cmdlet
  • Added support for the creation of additional network adapter types
  • Added support for the high-level promotion of instant clones
  • Updated the handling of a Cluster’s ‘SpbmEnabled’ status
  • Updated the handling of bulk tagging assignments

Let’s take a more in-depth look at some of the updates.

Tag Improvements

vSphere tags are always a popular discussion. Normally, the conversation ends up being about performance. This update, with PowerCLI 11.3, allows us to make use of the backend API where we can perform bulk assignment of tags. This means that the New-TagAssignment cmdlet has been updated to allow for arrays to be passed for either the Entity or Tag properties. In my test environments, I am able to report anywhere from a 12x to 18x improvement in performance. Of course, the performance will vary by environment. The following is an example of running the same set of 100 vSphere tags to a single VM. In PowerCLI 11.3, the task took 1.771 seconds whereas in PowerCLI 11.2, it took 32.495 seconds. That’s a pretty impressive improvement.

Example: Bulk Tag Assignment Operations

For more information about general vSphere tag performance with PowerCLI, check out a recently released blog from the Performance team: Writing Performant Tagging Code

New Cmdlets for HCX

VMware HCX is best thought of as a swiss army knife – a single tool with multiple options to move your workloads in and out of the cloud. The HCX module was introduced just earlier this year, in PowerCLI 11.2.0, as the 21st module for PowerCLI. New in PowerCLI version 11.3.0, the module receives an additional 21 cmdlets to interact with your HCX deployment. A majority of the new cmdlets deal with profiles, which are used as a site’s deployment configurations for items like storage, compute, and networking. There are also new cmdlets to manage the HCX Service Mesh, which is composed of the source and destination sites.

A complete list of the newly added cmdlets:

  • Get/New/Remove/Set-HCXComputeProfile
  • Get-HCXInventoryCompute
  • Get-HCXInventoryDatastore
  • Get-HCXInventoryDVS
  • Get-HCXInventoryNetwork
  • Get-HCXNetworkBacking
  • Get/New/Remove/Set-HCXNetworkProfile
  • Get/New/Remove/Set-HCXServiceMesh
  • Get-HCXStorageProfile
  • New-HCXComputeProfileDVS
  • New-HCXComputeProfileNetwork
  • New-HCXServiceMeshDVS

More information on using the HCX module can be found in the following blog post: Getting Started with the HCX Module

Opaque Network Support

Another improvement to the PowerCLI 11.2 release was the addition of a new object type for opaque networks. These network types are the result of logical switches that have been created in NSX-T. That update allowed us to retrieve these objects through only low-level, direct API access, commands. With PowerCLI 11.3, the Get-VirtualNetwork cmdlet has been updated so we can now view opaque networks with a high-level cmdlet!

An example of using Get-VirtualNetwork to display distributed, opaque, and standard networks:
Example: Showing all types of virtual networks

For some additional information about working with opaque networks in vCenter, see the following blog: Configuring VMs with Opaque Networks

Instant Clone Promotion

Instant Clone is a functionality which has been around VMware in one form or another for quite a while. First discussed as “VMFork”, going back as early as 2014, this allows us to immediately create a child VM based off of a presently powered on VM, which we can then viewe as a cloned VM in vCenter. vSphere 6.7 was the first release to have this available as a public feature, though it was only available through the API. This is where PowerCLI, and specifically version 11.3, comes into play because we can now make use of the Set-VM cmdlet combined with the PromoteDisks parameter against one of the available child VMs to create a fully cloned VM object. The selling point is that afterwards, there is no longer a dependency on that parent VM!

Look for more information about this great new functionality in a future blog post.

SPBM Updates

The last big update we’re going to cover is for those looking to automate the management of vSphere Storage Policy Based Management (SPBM) policies. The first update comes in the form of a new cmdlet named Get-SpbmView. This cmdlet gives us direct access to the available APIs for SPBM. In the example below, we can see the usage of this cmdlet to list out the available services and start to interact with the Replication Manager service to see the available methods.

Example: Get-SpbmView Usage

The other update is to how the Get/Set-SpbmEntityConfiguration cmdlet operates. Both of these cmdlets can now display or modify policies for datastores. However, there is also a deprecation for cluster objects and whether they display an “SpbmEnabled” status. This is due to a change, which happened as of vSphere 6.0, where clusters always have a status of “Enabled.” Here is an example of using the Get-SpbmEntityConfiguration to display information about the specified datastore.

Example: Viewing SPBM Policies for datastores

Summary

The second release of the year is here in the form of PowerCLI 11.3.0. This release adds 22 new cmdlets to help automate workload migrations and granular management of SPBM policies. There are new ways to manage network-based objects, whether those are networks themselves or network adapter types. We can also now upgrade an instant clone to a full clone with an easy to use, high-level cmdlet. Lastly, bulk tag assignment is now a supported mechanism of the New-TagAssignment cmdlet.

For more information on changes made in VMware PowerCLI 11.3.0, including improvements, security enhancements, and deprecated features, see the VMware PowerCLI Change Log. For more information on specific product features, see the VMware PowerCLI 11.3.0 User’s Guide. For more information on specific cmdlets, see the VMware PowerCLI 11.3.0 Cmdlet Reference.

Remember, updating your PowerCLI modules is now as easy as ‘Update-Module VMware.PowerCLI’.
Example: Update-Module -Name VMware.PowerCLI

Let us know in the comments what you’re most excited about!