Syntax
Move-VM [[-Destination] <VIContainer>] [-Datastore <Datastore>] [-DiskStorageFormat <VirtualDiskStorageFormat>] [-RunAsync] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]Related Commands
Online versionDetailed Description
Moves a virtual machine to the location that is specified by the -Destination or the -Datastore parameters. The destination must be a folder, host, cluster, or a resource pool. Moving a virtual machine in a cluster is only possible if the virtual machine is in a resource pool in that cluster. If the virtual machine is outside the cluster, you need to specify a virtual machine host in that cluster as destination. When moving virtual machines that are powered on, VMotion is used. To specify a server different from the default one, use the -Server parameter.Parameters
| Name | Type | Description | Required? | Pipeline Input | Default Value |
|---|---|---|---|---|---|
| VM | VirtualMachine[] | Specify the virtual machines you want to move to another location. | true | true (ByValue) | |
| Destination | VIContainer | Specify a folder, host, cluster, or a resource pool where you want to move the virtual machines. If a datacenter is specified for the -Destination parameter, the virtual machines are moved to the datacenter's "vmFolder" folder. The "vmFolder" is a system folder and is guaranteed to exist.
Passing values to this parameter through a pipeline is deprecated and will be disabled in a future release. | false | true (ByValue) | |
| Confirm | SwitchParameter | If the value is $true, indicates that the cmdlet asks for confirmation before running. If the value is $false, the cmdlet runs without asking for user confirmation. | false | false | $true |
| Datastore | Datastore | Specify the datastore where you want to move the virtual machines. | false | false | |
| DiskStorageFormat | VirtualDiskStorageFormat | Specify a new storage format for the hard disk of the virtual machine you want to move. This parameter is applicable only when moving a virtual machine to a different datastore, using the -Datastore parameter. The valid values are Thin and Thick. | false | false | |
| RunAsync | SwitchParameter | Indicate that the command returns immediately without waiting for the task to complete. In this mode, the output of the cmdlet is a Task object. For more information about the -RunAsync parameter run " help About_RunAsync" in the vSphere PowerCLI console. | false | false | |
| Server | VIServer[] | Specify the vSphere servers on which you want to run the cmdlet. If no value is given to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer. | false | false | |
| WhatIf | SwitchParameter | Indicate that the cmdlet is run only to display the changes that would be made and actually no objects are modified. | false | false |
Return Type
VirtualMachineNotes
Supported on VirtualCenter 2.5/ ESX 3.5 and newer.Examples
-------------- Example 1 --------------
Get-VM -Name VM | Move-VM -Destination 10.23.112.235
Moves the virtual machine named VM from its current location to the host on IP address 10.23.112.235.
-------------- Example 2 --------------
Move-VM -VM VM -Destination Folder
Moves the virtual machine to a folder called Folder. Note that you are able to move virtual machines only to folders containing virtual machines (the 'blue' folders in the vSphere Client).
-------------- Example 3 --------------
Move-VM -VM VM -Destination ResourcePool
Moves the virtual machine to the ResourcePool resourcepool. The ESX host does not change.