Home > Blogs > VMware PowerCLI Blog > Monthly Archives: October 2019

Monthly Archives: October 2019

What’s New for the VMware Cloud on AWS Module

PowerCLI’s 11.5 was a big release for several reasons. One of those reasons is due to the introduction of some new cmdlets for use with the VMware Cloud on AWS service! These cmdlets are all high-level, which allows us to interact with our SDDCs in a much easier fashion than before.

The new cmdlets in the VMC module are:

  • Get-VmcSddc
  • Set-VmcSddc
  • New-VmcSddc
  • Remove-VmcSddc
  • Add-VmcSddcHost
  • Remove-VmcSddcHost
  • Get-AwsAccount
  • Get-AwsVpcSubnet

Let’s walk through how to use these within your own VMware Cloud on AWS Organization, as we manage each part of an SDDC’s lifecycle.

Creating New 1 Host SDDC

The first cmdlet we’ll walkthrough using is the one which creates a new SDDC, New-VmcSddc. This cmdlet requires fairly minimal information such as SDDC name, AWS region, and how many hosts the SDDC should have. We also have the ability to specify the management subnet CIDR as a parameter too, but that parameter is optional.

One big item of note, at the time of the PowerCLI 11.5 release, it can only provision one host SDDCs without an AWS account being linked. We do plan to improve the cmdlet in a future release to support all SDDC deployment configurations.

Here’s an example of creating a VMware Cloud on AWS single host SDDC where we don’t link an AWS account:

Example: Creating a new 1-host SDDC

Creating New 3-Host SDDC

We can also create a standard, 3 host or larger, SDDC which requires an AWS account be linked. There are two new cmdlets which simplifies this process from more than 10 lines of code down to 2 lines.

The first thing we’ll need to obtain, the AWS account we’ll be using. That information can be found with the following command:

Example: listing out an AWS account

We’ll store that output in a variable and move on to the next step, which is to pick out our desired AWS VPC Subnet. We can use a single cmdlet to do this, however we will need to reference the AWS Account and which region the VPC should reside.

We can find the available VPC subnets with the following command:

Example: List available AWS VPC subnets

At this point, we have all the information needed to create our SDDC. With some minimal updates to the command from the previous section, we can create a new 3 host SDDC, have it linked to our AWS account, and using our requested VPC subnet with the following code:

Example: New SDDC - 3 Hosts

Viewing SDDC Information

We’ve created two SDDCs in the prior sections, now it’s time to find out what information about each of these SDDCs are available. The Get-VmcSddc cmdlet will turn several lines of API interaction into a single line.

We can find out some basic information about our newly created SDDCs with the following command:

Example: List SDDCs

The above shows some great high-level information. However, if you’ve seen the API response, there’s a lot more information available to us. We can find some additional information about a particular SDDC by piping that command to Format-List. An example:

Example: Detailed SDDC View

The above examples shows some important information, such as AWS region, how many hosts the SDDC has, what version the SDDC is on, and even the URL to reach the vCenter server. One thing you may notice is missing though, ExtensionData! This property, and all the information it provides us, is something that is not available at this point in time. We hope to add it in a future release.

In the meantime, you can take the information provided here and simplify the process to retrieve the rest of the properties which make up the SDDC object from the API level. An example to do that is as follows:

Example: Retrieving all the SDDC information from the API

Host Capacity Management

One of the amazing parts about a service such as VMware Cloud on AWS is that we can add and remove ESXi hosts to our SDDC in a matter of minutes! We now have two cmdlets to make the management of our ESXi hosts as simple as a one-liner.

We can add a single new host to our SDDC with the following command:

Example: Add a new host to the SDDC

Similarly, we can also remove a single host from our SDDC with the following command:

Example: Removing a host from a SDDC

In the above examples you’ll also notice the flexibility to several different methods of input for each command, whether that be variables or even using a pipeline.

Removing SDDCs

Completing the lifecycle management of an SDDC is the removal of our created SDDC. Much like the prior create and retrieve cmdlets, we also have a cmdlet to delete an SDDC.

We can now remove our SDDC with the following command:

Example: Remove SDDC

More Updates

There are a couple other cmdlets worth discussing when it comes to using PowerCLI with VMware Cloud on AWS. One of the more popular requests was to rename an SDDC. This was recently enabled through the API and PowerCLI can also make this change in a high-level cmdlet.

We can update the name of our SDDC with the following command:

Example: Update the name of an SDDC

An existing cmdlet was also updated to help us out when it comes to retrieving, and even reporting, on tasks within our Organization. Get-Task now supports these VMC based tasks. If you’ve had a change to view the tasks for any given Organization, unlike vSphere tasks, they are available for quite a long time so the output could be unexpectedly longer than expected.

We can retrieve the tasks of our Organization with the following command:

Example: Retrieve tasks

Each of these tasks are objects, so we can take one of those tasks and expand the available properties with Format-List by using the following command:

Example: List additional properties of a task


The release of PowerCLI 11.5 added a ton of functionality when it comes to VMware Cloud on AWS. We can manage the entire lifecycle of an SDDC with high-level cmdlet. We can also pull task-based information from an existing cmdlet!

Update to the latest version of PowerCLI with the following command:
Example: Update to PowerCLI 11.5.0

Let us know in the comments what cmdlets we should be adding next!

New Release – PowerCLI 11.5.0

The days are ticking away until VMworld Europe, but we have some exciting news that we just couldn’t keep quiet about! PowerCLI version 11.5.0 is here and it is a huge release! More than 20 cmdlets have been added. There are new properties available for the objects we all know and love, one of which has been requested for years. A big update for the VMC module, support for Horizon 7.10.0, and so much more.

PowerCLI 11.5.0 comes with the following updates:

  • Added cmdlets for Content Library management
  • Added cmdlets for vCenter alarm management
  • Added cmdlets for VMware Cloud on AWS SDDC management
  • Updated Get-*Service output
  • Updated New-VM parameters for networking
  • Updated performance for Tag based operations
  • Updated properties of Virtual Machine object
  • Updated support for Horizon 7.10.0
  • Updated support for HCX migration types

Let’s dig in on some of these updates!

Content Library Management Update

Content Library’s features and capabilities have been going through some impressive updates over the last few versions of vSphere. It was one of the first services available through the vSphere Automation (REST) API and has maintained a steady stream of improvements. The latest update added some long-awaited support for templates! PowerCLI is improving the management of the Content Library with eight new cmdlets!

The new cmdlets for Content Library management are as follows:

  • New-ContentLibraryItem
  • Set-ContentLibraryItem
  • Remove-ContentLibraryItem
  • Export-ContentLibraryItem
  • New-ContentLibrary
  • Set-ContentLibrary
  • Get-ContentLibrary
  • Remove-ContentLibrary

Here’s a brief example of viewing the available Content Libraries and the contents within a specified Content Library.
Example: Content Library cmdlet usage

Look for a blog to be released shortly to dive deeper in to the use of these cmdlets!

vCenter Alarm Management Update

Managing vCenter alarms always comes up as one of those things that could be improved when using PowerCLI. There’s a solid set of alarm-based cmdlets which already exist. However, as evidenced by a PowerCLI session at VMworld in 2017 where we dug into some examples only available by the API, those cmdlets didn’t give quite give us everything we needed. PowerCLI 11.5 adds 6 new cmdlets and 3 updated cmdlets to help manage alarm definitions, create alarm triggers, and pull information about available event types and metrics.

These new cmdlets are as follows:

  • New-AlarmDefinition
  • Remove-AlarmDefinition
  • New-AlarmTrigger
  • Get-AlarmTrigger
  • Get-EventType
  • Get-Metric

The updated cmdlets are as follows:

  • New-AlarmAction
  • New-AlarmActionTrigger
  • Set-AlarmDefinition

Here’s a sneak peak at these new cmdlets in action, creating a new vCenter alarm definition:
Example: New alarm definition created

More details on these new vCenter alarm management cmdlets will be released in future blog post shortly.

VMware Cloud on AWS Module Update

The module for managing VMware Cloud on AWS (VMC) is one of PowerCLI’s newest modules. Initially it was released as a low-level module, which interacted directly with the available VMC APIs. As of PowerCLI 11.5, the VMC module introduces eight new cmdlets to make the management process easier. There’s a cmdlet to easily retrieve high-level information about our SDDCs. We can deploy an SDDC in a single command, down from the 20+ lines it took before. There are also cmdlets to streamline the process of retrieving information about our AWS linked accounts!

The new cmdlets are as follows:

  • Get-VmcSddc
  • Set-VmcSddc
  • New-VmcSddc
  • Remove-VmcSddc
  • Add-VmcSddcHost
  • Remove-VmcSddcHost
  • Get-AwsAccount
  • Get-AwsVpcSubnet

Here’s a quick example of how we can compress all those lines of code to deploy and view an SDDC down to, essentially, two lines:
Example: VMware cmdlet usage to create an SDDC

For more details on these new VMC cmdlets, see the following blog: What’s New with the VMware Cloud on AWS Module

VMware Core Module Update

The Core module received a handful of upgrades outside of just the new cmdlets for Content Library and vCenter alarms.

The usage of tags within vSphere environments continues to steadily increase, as well as requests to make the management of those tags more performant. Previously, as of PowerCLI 11.3, the ability to perform batch operations was added. PowerCLI 11.5 builds on that and adds some additional, general, performance improvements to several cmdlets. The Get-Tag cmdlet and Tag parameter for Get-VM have both been updated, as well as Get/Remove-TagAssignment.

There are a couple highly requested updates for some of the standard VM cmdlets too! The ability to configure a new VM’s portgroup, when deploying from template, has been added through the usage of either NetworkName or Portgroup parameters when using New-VM. As of vSphere 6.7, there’s been a new property of VirtualMachine vSphere objects called CreateDate. As of PowerCLI 11.5, the VirtualMachine .Net object now also has a CreateDate property!

Example: Viewing CreateDate property

Note: Only vSphere 6.7 environments and newer support this property. On vSphere 6.5 and older environments, the property may be blank. An additional caveat, this property is also only supported on VMs which have been created since that environment was on vSphere 6.7 or newer. VMs that have been migrated from older environments will show an older date, generally 1/1/70 12:00:00 AM.


PowerCLI 11.5.0 has been released and there are tons of new updates! There are more than 20 new cmdlets and 9 cmdlets which have been improved. Support has been added for Horizon 7.10.0 as well as two new migrations types for HCX, Replication Assisted vMotion (RAV) and OS Assisted Migration (OSAM). Plus, when you’re working with a service’s underlying API service, the listing of available services has been updated for easier viewing. The third release of PowerCLI is one you’ll want to update to today!

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

Remember, updating your PowerCLI modules is now as easy as:

Example: Update to PowerCLI 11.5.0

Let us know in the comments what you’re looking forward to most!

PowerCLI at VMworld Europe 2019

VMworld US Banner

It feels like VMworld US was just yesterday and yet, here we are, a month away from VMworld Europe! This year, VMworld continues to have all kinds of sessions related to PowerCLI. From the always popular PowerCLI Deep Dive to more specifically focused sessions on VMware Cloud on AWS, vSphere update lifecycle, vSAN, and even Horizon View. There’s also a very special session given by a member of the PowerCLI engineering team which gives an in-depth look at how new features are added automatically! If you haven’t already registered, the time is quickly slipping away!

Schedule builder is already live, so make sure to add the following sessions to your schedule and catch up with the PowerCLI team and all of the amazing PowerCLI community members!

Breakout Sessions

Session: HBI1729BE – PowerCLI Deep Dive
Date: Thursday, November 7, 10:30 – 11:30
Speakers: Luc Dekens & Kyle Ruddy
Luc and Kyle are back with another edition of the PowerCLI Deep Dive, where they’ll show you some of the advanced methods they use to make even the hardest of tasks look easy.

Session: HBI1463BE – VMware Cloud on AWS: Advanced Automation Techniques
Date: Wednesday, November 6, 15:30 – 16:30
Speakers: William Lam & Kyle Ruddy
William and Kyle will walk you through the available APIs and tooling for VMware Cloud on AWS, then demonstrate they can be used to automate all aspects of the SDDC lifecycle and workload consumption.

Session: HCI1864BE – Automating vSAN from CLI to API: PowerCLI, Govc, and Beyond
Date: Thursday, November 7, 09:00 – 10:00
Speakers: Andreas Scherr & Cedric Rajendran
Andreas and Cedric will show how to automate some of the routine vSAN tasks using the wide variety of APIs and CLIs available and at your disposal.

VMware {code} Sessions

Session: CODE2214E – How PowerCLI Makes Configuration Management Easy
Date: Tuesday, Novmeber 5, 11:00 – 12:00
Speaker: Kyle Ruddy
Kyle will cover some configuration management principles and then dive in to show the latest ways PowerCLI is using PowerShell DSC to make vSphere configuration management easy.

Session: CODE1817E – Automating vCenter Server Appliance Update Lifecycle
Date: Wednesday, November 6, 15:00 – 15:25
Speaker: David Stamen
David will show off his new community module for PowerCLI which can be used to ease the lifecycle management of the vCenter Server Appliance.

Session: CODE2649E – How PowerCLI Gives Day 1 Access to the Latest VMware APIs
Date: Wednesday, November 6, 17:00 – 17:25
Speaker: Nikola Klinkachev
Nikola, an engineer on the PowerCLI team, will provide a “look behind the curtain” when it comes to how PowerCLI can automatically interact with the latest and greatest APIs.

Session: CODE1316E – Horizon 7 Automation 101: How to Get Started with the Horizon API
Date: Thursday, November 7, 10:00 – 10:25
Speaker: Wouter Kursten
Wouter will provide an overview of the Horizon 7 API and how PowerCLI can be leveraged to simplify the automation process for those Horizon environments.

VMTN TechTalk Sessions

Session: VMTN5092E – Clones as a Service
Date: Wednesday, November 6, 12:45 – 13:00
Speaker: Dan Belmonte
Dan will cover how both linked clones and instant clones can be incredibly useful for development environments and how PowerCLI can be used to create them.

Hands on Labs

Lab: SPL-2012-01-SDC_E – VMware vSphere Automation – PowerCLI
Date: Anytime the HOL area is open and available
Get hands-on with VMware PowerCLI. Gain familiarity with the tool, and then dive deeper into the functionality available with real world examples. Both new and experienced users are sure to learn something new about automating their environments.

Session: ELW-2012-01-SDC_E – Expert-Led Workshop – VMware vSphere Automation – PowerCLI
Date: Monday, November 4, 14:00 – 15:30
Date: Thursday, November 07, 11:45 – 13:15
Speaker: Peter Kieren
Peter will show attendees how to get hands-on with VMware PowerCLI. You will gain familiarity with the tool, and then dive deeper into the functionality available with real world examples.


VMworld Europe continues to be the premier event in EMEA to learn about PowerCLI. Come hear directly from the PowerCLI team, as well as numerous community members, how you can harness PowerCLI to automate even the most difficult of tasks.

Make sure you’re registered for VMworld today!