To upgrade virtual machine compatibility, you can use the Set-VM
cmdlet that you have seen before in the Modifying the settings of virtual machines section. You have to use the -Version
parameter and specify the new compatibility version as a parameter value. At the time of writing this book, the only valid versions are v4, v7, v8, v9, v10, and v11.
New features in virtual machines compatible with version 9 or higher can no longer be edited with the vSphere C# client. Some devices may not appear in the devices list, and the settings of some devices may appear as Restricted. You will have to use the vSphere web client or PowerCLI to edit the configuration for these virtual machines.
The following example will upgrade the VM7
virtual machine to compatibility version 11:
PowerCLI C: > Get-VM -Name VM7 | ` >> Set-VM -Version V11 -Confirm:$false >>
The output of the preceding command is as follows:
Name PowerState Num CPUs MemoryGB ---- ---------- -------- -------- VM7 PoweredOff 1 0.250
The virtual machine has to be powered off, or you will get the following error message:
The attempted operation cannot be performed in the current state (Powered on).
It is not possible to downgrade to an earlier compatibility version. If you specify a version lower or equal to the version the virtual machine already has, you will get the following error message:
Virtual machine compatibility is already up-to-date.
The version numbers correspond to the following virtual machine compatibilities:
PowerCLI version |
Virtual machines compatible with |
v4 |
ESX/ESXi 3.5 and later |
v7 |
ESX/ESXi 4.0 and later |
v8 |
ESXi 5.0 and later |
v9 |
ESXi 5.1 and later |
v10 |
ESXi 5.5 and later |
v11 |
ESXi 6.0 and later |
v13 |
ESXi 6.5 and later |
In the following screenshot of the vSphere web client, you will see the VM Hardware window containing the status of a virtual machine, with Compatibility showing ESXi 6.5 and later (VM version 13):
3.135.216.174