Deploying the Turbonomic .ova Using PowerCLI

Document created by swagner Expert on Oct 16, 2017
Version 1Show Document
  • View in full screen mode

If for whatever reason you are unable to deploy our VM using vSphere’s Deploy OVF Template wizard, here is how to deploy the .ova using PowerCLI. This guide uses PowerCLI 6.0u1, so some commands may be deprecated or slightly different.



  1. Download the .ova
  2. Connect to vCenter in PowerCLI
  3. Set the Parameters for VM Source, Cluster, Host, Datastore, and Name
  4. Deploy the .ova
  5. Edit Any Remaining Settings and Power On the VM


Download the .ova

The first step is to download the .ova, making sure it’s saved either on the same server as your PowerCLI location, or on a datastore. For this guide, we will be saving the file locally. If you do not have the .ova already downloaded, here is the link to do so:


Connect to vCenter in PowerCLI

Open PowerCLI using an administrator account. Once it’s loaded, run:


                Connect-VIServer VCENTER_IP_ADDRESS


A credentials form will pop up. I recommend logging in with a full administrator account:


Set the Parameters for VM Source, Cluster, Host, Datastore, and Name

To Deploy the .ova, we need to pass:

  1. The Source of the .ova file
  2. The Cluster we want to deploy into
  3. The Host we want to initially deploy it on
  4. The Datastore we want the .vmdk to live on
  5. The Name of the VM

We will go through and create a variable for each to be a bit more organized, and making sure each is a valid object.


Note: For each variable, I will:

  1. Get a list of available options (For non-String variables)
  2. Run the command to create the variable
  3. Double Check that the variable is valid by calling it



The source of the VM is the local path to the .ova. This is the command I ran to set the location of the .ova to a variable called $vmSource:


                $vmSource = “C:\Users\Administrator\Downloads\turbonomic-opsmgr-5.8.4.ova”




Now to be a bit more organized, we need to create a variable $vmCluster to not only deploy into a proper cluster, but to help find a Host and Datastore to deploy onto as well. To get a list of clusters, you can run the command:




Which will list all the clusters available. For this example, we only have one in our vCenter. So let’s set the $vmCluster variable to this cluster using the name of the cluster. To do so, run:


                $vmCluster = Get-Cluster -Name “CLUSTER_NAME”




Now we need a host to deploy onto. To find a host inside the cluster you chose, you can run:


                $vmCluster | Get-VMHost


Which will display all the hosts in the cluster. It really doesn’t matter which host we choose, as we can choose a different one when powering on, so for now, let’s make a $vmHost variable and set it to the first host in the cluster:


                $vmHost = ($vmCluster | Get-VMHost)[0]




Next, we need to pick a datastore for the .vmdk to live on. To get a list of datastores in the cluster, you can run:


                $vmCluster | Get-Datastore


It will list the datastores and their available and total Space. I will pick one by name and create a $vmDatastore variable from the name:


                $vmDatastore = Get-Datastore -Name DATASTORE_NAME




Finally, we need to give the VM a name:


                $vmName = “VM_NAME”



To summarize, we now have 5 variables:

  1. $vmSource
  2. $vmCluster
  3. $vmHost
  4. $vmDatastore
  5. $vmName


Deploy the .ova

Finally, we need to deploy the .ova by using the Import-vApp command on our host, and passing the different variables:


                $vmHost | Import-vApp -Source $vmSource -Location $vmCluster -Datastore $vmDatastore -Name $vmName -Force



It will take a few minutes, depending on your network bandwidth, and you should see it being deployed in vCenter:




Edit Any Remaining Settings and Power On the VM

When the VM is deployed, the last steps is to change the Network the VM is on so that it can talk to vCenter, and any other config settings you would like to change, such as the Resource Pool or Folder. Then, Power On the VM and continue!


Here is some good documentation on the Import-vApp command: Import Commands — PowerCLI Core latest documentation 



2 people found this helpful