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 }