Quick Tip – PowerCLI Invalid server certificate

When trying to connect with PowerCLI to a vCenter Server Appliance the following error occurred:

Connect-vIServer : 18-7-2018 13:20:10 Connect-VIServer Error: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Prompt if you’d like to connect once or to add a permanent exception for this server.

As stated in the error, the Set-PowerCLIConfiguration command can be used to ignore the certificate check using the following syntax:

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

After this command you’re able to connect to the vCenter without the certificate error.

vMotion between two vCenter Servers with different SSO domains

Last week i did my first vMotion between two vCenter Servers with different SSO domain by using PowerCLI. This functionality is also known as “cross vCenter vMotion” and is not included in the vSphere Web Client yet. Without downtime it’s possible to live migrate VMs from one vCenter Server to another. Cool stuff!

Before starting the following requirements must be met:

  • VMware vSphere 6.0 and later for the source and destination environment
  • PowerCLI 6.5 and later
  • vSphere Enterprise Plus license per ESXi host
  • An active connection to the source and destination  vCenter Server

I created a simple script to vMotion the VMs between the two SSO domains. See the more information section for more advanced PowerCLI scripts from for example William Lam and Romain Decker.

In the script the following variables must be defined:

  • Source vCenter Server, username and password
  • Destination vCenter Server, username and password
  • VM name will be moved
  • Destination vSwitch
  • Destination Portgroup
  • Destination datastore

Only VMs with one NIC are supported

PowerCLI example script

Import-Module VMware.PowerCLI
 
#Variables
$sourceVC = 'sourcevc'
$sourceVCUsername = 'administrator@vsphere.local'
$sourceVCPassword= 'password!'
 
$destVC = 'destinationvc'
$destVCUsername = 'administrator@vsphere.local'
$destVCPassword= 'password'
$destESXi = 'destinationesxi'
 
$vmname = 'vmname'
$Switchname = 'destinationswitch'
$NetworkName = 'destinationvlan'
$datastorename = 'destinationdatastore'
 
# Connect to the vCenter Servers
$sourceVCConn = Connect-VIServer -Server $sourceVC -user $sourceVCUsername -password $sourceVCPassword
$destVCConn = Connect-VIServer -Server $destVC -user $destVCUsername -password $destVCPassword
 
$vm = Get-VM $vmname -Server $sourceVCConn
$networkAdapter = Get-NetworkAdapter -VM $vm -Server $sourceVCConn
 
$destination = Get-VMHost -name $destESXi -Server $destVCConn
$destinationPortGroup = Get-VirtualPortGroup -VirtualSwitch $Switchname -name $NetworkName -VMHost $destination
$destinationDatastore = Get-Datastore -name $datastorename -Server $destVCConn
 
Move-VM -VM $vm -Destination $destination -NetworkAdapter $networkAdapter -PortGroup $destinationPortGroup -Datastore $destinationDatastore

With this script I migrated a couple of VMs between to vSphere 6.5 environment with different SSO domains without any downtime.

More information:

  • PowerCLI blog on the Move-VM cmdlet, link
  • William Lam, Automation Cross vCenter vMotion, link
  • Romain Decker Cross vMotion script from, link

What VMware Horizon View PowerCLI features you like to see?

PowerCLI 6.0 R1 is released with some cool new features. One thing I missed in this announcement is improvements in the PowerCLI support for VMware Horizon View. The latest release of VMware Horizon View 6.1 still has NO PowerCLI improvements! This is a huge bummer because PowerCLI is very limited in VMware Horizon View.

On the VMware PowerCLI Blog the following statement is written (link):
Each new release tends to have several features or enhancements that have been asked for by YOU, our customers. These new features come to us by way of interaction at events like VMworld, Partner Exchange, VMUG Conferences, Twitter, Email, and customer visits. What better way to show our customers that we listen then by adding in features they ask for? This release does not disappoint! Thank you to all who provide feedback and help us continue to improve this great tool.
So we must provide feature request feedback to the PowerCLI team to improve PowerCLI for VMware Horizon View!
I have the following feature requests:
  • Ability to run from remote systems
  • Creating and exporting desktop pools with all the settings available as in the GUI (Horizon View Administrator)
  • Available as module
  • Getting the Health overview as in the VMware Horizon View Administrator
  • Filter on the desktop status such as problem desktops, agent unreachable, deleting, missing, disconnected, available etc.
  • Filter pools and display the amount of desktops that are used, available desktops, headroom and total desktops.
  • Check the ADAM replication between the Connection Servers
  • Search and filter the Event database on error and warnings
  • Add or remove a VM to a manual pool
  • Send messages to desktops
Please let me know what features request you have by placing a comment in this blog post, even if it is already mention. All the feature requests will be bundled and forwarded to the PowerCLI team. I hope to see some of the feature requests in the next release of PowerCLI for VMware Horizon View.
Looking forward for your feature requests!