In this blog I will introduce you to some of the basic functionality of using PowerCLI with vCloud.

Installing PowerCLI

The most recent version of VMware PowerCLI is available in the PowerShell Gallery so you can install the PowerCLI with one command:

Install-Module VMware.PowerCLI -Scope CurrentUser

And then load the module for vCloud:

Import-Module -Name VMware.VimAutomation.Cloud

When I loaded the module I ran into the following error message:

image

I fixed this by  changing the execution policy for running scripts in Powershell like so:

Set-ExecutionPolicy RemoteSigned

Do take note of the warning message when changing the policy and make sure you run Powershell as an administrator before running the above command.

Now that we have installed and loaded the module lets see what we got:

image

Please be aware that not all Cmdlets can be run as a Organization Administrator, some need to be run as vCloud administrator.

Now lets get started with some of the basics.

PowerCLI basics

Connect to you vCloud tenant

Connect-CIServer –Server <vdc FQDN> –Org <org_name>

Enter your credentials when prompted and voila you are connected to your tenant.

Listing vApp’s and VM’s inside a vApp

Let’s starts with listing a vApp called ‘Test”’ and the VM’s within that vApp.

Get-CIVApp -name Test | Get-CIVM


Listing vApp’s in a catalog

Now lets see if we can get some information about vApp’s stored in the vCloud catalog

Get-Catalog |  Get-CIVAppTemplate

*In a next blog post I will show you how to deploy a vApp from the catalog.

Ok now that we have used some basic commands lets turn it up a nudge and see if we can play around with a vApp network.

PowerCLI beyond the basics

Creating a Isolated network for a vApp

New-CIVAppNetwork -VApp Test -Name 'MyVAppInternalNetwork' -Routed -Gateway '192.168.2.1' -Netmask '255.255.255.0'

And if we look in vCloud we will find an isolated network with the name ‘MyVAppInternalNetwork’ has been created:

image

Of course, if you can add a network you can also remove it again:

Get-CIVAPP -name test | Get-CIVAppNetwork -Name 'MyVAppInternalNetwork' | Remove-CIVAppNetwork

So there you have it, PowerCLI and vCloud.

Please be aware that not everything can be done with PowerCLI, at some point you will need to start using the REST API for more advanced automation needs.

More info on vCloud REST API can be found here here https://code.vmware.com/apis/722

Check our other vCloud Director related articles here

 3,067 total views,  4 views today