Start-VMFailover
Starts failover on a virtual machine.
Syntax
Start-VMFailover
[-VMName] <String[]>
[-AsJob]
[-ComputerName <String[]>]
[-PassThru]
[-Prepare]
[-Confirm]
[-WhatIf]
Start-VMFailover
[-VM] <VirtualMachine[]>
[-AsJob]
[-PassThru]
[-AsTest]
[-Confirm]
[-WhatIf]
Start-VMFailover
[-VMRecoverySnapshot] <VMSnapshot>
[-AsJob]
[-PassThru]
[-AsTest]
[-Confirm]
[-WhatIf]
Start-VMFailover
[-VMName] <String[]>
[-AsJob]
[-ComputerName <String[]>]
[-PassThru]
[-AsTest]
[-Confirm]
[-WhatIf]
Start-VMFailover
[-VM] <VirtualMachine[]>
[-AsJob]
[-PassThru]
[-Prepare]
[-Confirm]
[-WhatIf]
Start-VMFailover
[-VMRecoverySnapshot] <VMSnapshot>
[-AsJob]
[-PassThru]
[-Confirm]
[-WhatIf]
Description
The Start-VMFailover cmdlet can be used for the following tasks:
Fail over a Replica virtual machine to a chosen recovery point.
Start a planned failover on a primary virtual machine.
Create a test virtual machine on a Replica virtual machine.
Examples
Example 1
PS C:\>Get-VMSnapshot VM01 -Name Snapshot01 | Start-Failover
This example starts failover of a virtual machine named VM01 with recovery point Snapshot01.
Note: Recovery points are stored as snapshots. To get a list of all snapshots, use the Get-VMSnapshot cmdlet.
Example 2
PS C:\>Start-VMFailover VM01 -AsTest
This example starts a test failover of a virtual machine named VM01.
Example 3
PS C:\>Get-VMSnapshot VM01 -Name Snapshot01 | Start-Failover -AsTest
Starts a test failover of a virtual machine named VM01 with recovery point Snapshot01.
Example 4
PS C:\>Start-VMFailover -Prepare -VMName VM01 -computername MyPrimary.contoso.com PS C:\>Start-VMFailover -VMName VM01 -computername MyReplica.contoso.com PS C:\>Set-VMReplication -Reverse -VMName VM01 -computername MyReplica.contoso.com PS C:\>Start-VM -VMName VM01 -computername MyReplica.contoso.com
This example shows the cmdlets you use to perform a planned failover. The first command prepares for the planned failover of a primary virtual machine named VM01 by replicating any pending changes. The second command fails over the Replica virtual machine. The second command fails over the Replica virtual machine. The third command switches the Replica virtual machine to a primary virtual machine. The third command starts the virtual machine that has been switched from a Replica virtual machine to a primary virtual machine.
Parameters
-AsJob
Runs the command as a background job.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsTest
Creates a test virtual machine using the chosen recovery point. You can use a test virtual machine to validate a Replica virtual machine. To stop a test failover, use the Stop-VMFailover cmdlet.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Specifies one or more Hyper-V hosts on which failover is to be started. NetBIOS names, IP addresses, and fully-qualified domain names are allowable. The default is the local computer - use "localhost" or a dot (".") to specify the local computer explicitly.
Type: | String[] |
Position: | Named |
Default value: | . |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Specifies that a virtual machine object is to be passed through to the pipeline representing the virtual machine on which failover is to be started.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Prepare
Starts the planned failover on the primary virtual machine and replicates any pending changes. To complete the planned failover, use the Set-VMReplication and Start-VM cmdlets as shown in Example 4.
Note: The primary virtual machine must be shut down to prepare it for failover.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VM
Specifies the virtual machine for which failover is to be started.
Type: | VirtualMachine[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMName
Specifies the name of the virtual machine for which failover is to be started.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMRecoverySnapshot
Specifies the recovery snapshot to use during a failover. (This parameter is not required for a planned failover.)
Type: | VMSnapshot |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Outputs
None
Default
Microsoft.Virtualization.Powershell.VirtualMachine
If -PassThru is specified.