Restore-VMSnapshot
Restores a virtual machine checkpoint.
Syntax
Restore-VMSnapshot
[-ComputerName <String[]>]
-Name <String>
[-VMName] <String>
[-AsJob]
[-Passthru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-VMSnapshot
[-VMSnapshot] <VMSnapshot[]>
[-AsJob]
[-Passthru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-VMSnapshot
[-VM] <VirtualMachine>
-Name <String>
[-AsJob]
[-Passthru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Restore-VMSnapshot cmdlet restores a virtual machine checkpoint.
Note: In Windows Server 2012 R2, virtual machine snapshots were renamed to virtual machine checkpoints. For clarity, this document will refer to virtual machine snapshots as checkpoints.
Examples
Example 1
PS C:\>Restore-VMSnapshot -Name 'Base image' -VMName TestVM
Confirm
Are you sure you want to perform this action?
Restore-VMSnapshot will restore checkpoint "Base image".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "Y"): Y
Restores checkpoint Base image of virtual machine TestVM.
Example 2
PS C:\>Get-VM | Foreach-Object { $_ | Get-VMSnapshot | Sort CreationTime | Select -Last 1 | Restore-VMSnapshot -Confirm:$false }
Applies the most recent checkpoint on all virtual machines with no confirmation prompts.
Parameters
-AsJob
Specified that the cmdlet is to be run as a background job.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Specifies one or more Hyper-V hosts on which the virtual machine checkpoint 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.
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 |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Specifies the name of the checkpoint to be restored.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Passthru
Specifies that a VMSnapshot is to be passed through to the pipeline representing the checkpoint to be restored.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VM
Specifies the virtual machine to be restored.
Type: | VirtualMachine |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMName
Specifies the name of the virtual machine to be restored.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMSnapshot
Specifies an array of VMSnapshot objects. To obtain a VMSnapshot object, use the Get-VMSnapshot cmdlet. The cmdlet restores the virtual machine checkpoints that you specify.
Type: | VMSnapshot[] |
Position: | 0 |
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 |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Outputs
None by default; VMSnapshot if -PassThru is specified.