Move-ClusterVirtualMachineRole

Move-ClusterVirtualMachineRole

Moves the ownership of a clustered virtual machine to a different node.

Syntax

Parameter Set: InputObject
Move-ClusterVirtualMachineRole [[-Name] <String> ] [[-Node] <String> ] [-Cancel] [-Cluster <String> ] [-IgnoreLocked] [-InputObject <PSObject> ] [-MigrationType <NativeGroupHelp.VmMigrationType> ] [-VMId <Guid> ] [-Wait <Int32> ] [ <CommonParameters>]

Detailed Description

The Move-ClusterVirtualMachineRole cmdlet moves the ownership of a clustered virtual machine to a different node.

This cmdlet is used to live migrate a clustered virtual machine. For quick migration, use Move-ClusterGroup after using Get-ClusterResource and Set-ClusterParameter to set the OfflineAction parameter of the virtual machine resource to save state, or a value of 1.

Note: This cmdlet cannot be run remotely without Credential Security Service Provider (CredSSP) authentication on the server computer.

Parameters

-Cancel

Specifies that an in-progress live migration of the virtual machine be canceled.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Cluster<String>

Specifies the name of the cluster on which to run this cmdlet. If the input for this parameter is . or it is omitted, then the cmdlet runs on the local cluster.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IgnoreLocked

Specifies that locked groups are ignored when running the cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InputObject<PSObject>

Specifies the clustered virtual machine to move.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

true (ByValue)

Accept Wildcard Characters?

false

-MigrationType<NativeGroupHelp.VmMigrationType>

Specifies the type of migration to perform for the virtual machine. The options are as follows:
-- Live: Transparently migrates the virtual machine without a dropped network connection or perceived downtime.
-- Quick: Rapidly migrates a running virtual machine with minimal downtime.
-- Shutdown: Performs an orderly shutdown of the operating system (waiting for all processes to close) on the virtual machine, and then migrates the virtual machine.
-- ShutdownForce: Shuts down the operating system on the virtual machine without waiting for slower processes to finish, and then migrates the virtual machine.
-- TurnOff: Turns off the virtual machine without shutting down the operating system first, then migrates the virtual machine. This is the same as turning off the power, which means that data loss may occur.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name<String>

Specifies the name of the clustered virtual machine to move.

Aliases

none

Required?

false

Position?

1

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Node<String>

Specifies the name of the cluster node to which to move the virtual machine.

Aliases

none

Required?

false

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VMId<Guid>

Specifies the virtual machine identifier (ID).

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-Wait<Int32>

Specifies the time in seconds to wait for the cmdlet. If the Wait parameter is not specified, then the cmdlet waits for completion. If -Wait 0 is specified, then the call is initiated and the cmdlet returns without waiting.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • Microsoft.FailoverClusters.PowerShell.ClusterGroup

Outputs

The output type is the type of the objects that the cmdlet emits.

  • Microsoft.FailoverClusters.PowerShell.ClusterGroup

Examples

Example 1

This example performs a live migration of the clustered virtual machine named Virtual Machine1 to the node named node2. The Windows PowerShell® prompt does not return until the action is complete.

PS C:\> Move-ClusterVirtualMachineRole –Name "Virtual Machine1" -Node node2

Example 2

This example performs a live migration of clustered virtual machine named Virtual Machine1 to the node named node2. The Windows PowerShell® prompt returns as soon as the action has been initiated.

PS C:\> Get-ClusterGroup –Name "Virtual Machine1" | Move-ClusterVirtualMachineRole -Node node2 -Wait 0

Example 3

This example cancels the live migration in progress for the clustered virtual machine named Virtual Machine1.

PS C:\> Move-ClusterVirtualMachineRole –Name "Virtual Machine1" -Cancel

Example 4

This example performs a live migration of all clustered virtual machines that are currently owned by the node named node1 to the node named node2. The migration of each virtual machine should complete before the next migration is started. Use this cmdlet before performing maintenance on the specified node.

PS C:\> $groups = Get-ClusterNode –Name node1 | Get-ClusterGroup | Where-Object –FilterScript {$_ | Get-ClusterResource | Where-Object –FilterScript {$_.ResourceType -Like "Virtual Machine"}}
PS C:\> ForEach-Object -InputObject ($group in $groups) -Process { $group | Move-ClusterVirtualMachineRole -Node node2 }

Add-ClusterVirtualMachineRole

Update-ClusterVirtualMachineConfiguration