Restore-VMSnapshot

Restore-VMSnapshot

Restores a virtual machine snapshot.

Syntax

Parameter Set: SnapshotName
Restore-VMSnapshot [-Name] <String> [-VMName] <String> [-AsJob] [-ComputerName <String[]> ] [-Passthru] [ <CommonParameters>]

Parameter Set: SnapshotObject
Restore-VMSnapshot [-VMSnapshot] <VMSnapshot[]> [-AsJob] [-Passthru] [ <CommonParameters>]

Parameter Set: VM
Restore-VMSnapshot [-VM] <VirtualMachine> -Name <String> [-AsJob] [-Passthru] [ <CommonParameters>]

Detailed Description

The Restore-VMSnapshot cmdlet restores a virtual machine snapshot.

Parameters

-AsJob

Specified that the cmdlet is to be run as a background job.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ComputerName<String[]>

Specifies one or more Hyper-V hosts on which the virtual machine snapshot is to be restored. 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.

Aliases

none

Required?

false

Position?

named

Default Value

.

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name<String>

Specifies the name of the snapshot to be restored.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

true

-Passthru

Specifies that a VMSnapshot is to be passed through to the pipeline representing the snapshot to be restored.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VM<VirtualMachine>

Specifies the virtual machine to be restored.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

true (ByValue)

Accept Wildcard Characters?

false

-VMName<String>

Specifies the name of the virtual machine to be restored.

Aliases

none

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

true

-VMSnapshot<VMSnapshot[]>

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

true (ByValue)

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.

Outputs

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

  • None by default; VMSnapshot if –PassThru is specified.

Examples

Example 1

Restores snapshot Base image of virtual machine TestVM.

PS C:\> Restore-VMSnapshot –Name ‘Base image’ –VMName TestVM

Example 2

Applies the most recent snapshot on all virtual machines with no confirmation prompts.

PS C:\> Get-VM | Foreach-Object { $_ | Get-VMSnapshot | Sort CreationTime | Select -Last 1 | Restore-VMSnapshot -Confirm:$false }