2018-05-24 16:57:55 +00:00
|
|
|
#Requires -Modules VagrantMessages
|
|
|
|
|
|
|
|
param(
|
2016-03-05 16:41:18 +00:00
|
|
|
[Parameter(Mandatory=$true)]
|
|
|
|
[string]$VmId,
|
|
|
|
[string]$SnapName
|
|
|
|
)
|
|
|
|
|
2018-05-24 16:57:55 +00:00
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
|
|
|
|
try {
|
|
|
|
$VM = Hyper-V\Get-VM -Id $VmId
|
2018-07-06 22:29:07 +00:00
|
|
|
$ChkPnt = $VM.CheckpointType
|
|
|
|
if($ChkPnt -eq "Disabled") {
|
|
|
|
Hyper-V\Set-VM -VM $VM -CheckpointType "Standard"
|
|
|
|
}
|
2018-05-24 16:57:55 +00:00
|
|
|
Hyper-V\Checkpoint-VM $VM -SnapshotName $SnapName
|
2018-07-06 22:29:07 +00:00
|
|
|
if($ChkPnt -eq "Disabled") {
|
|
|
|
Hyper-V\Set-VM -VM $VM -CheckpointType "Disabled"
|
|
|
|
}
|
2018-05-24 16:57:55 +00:00
|
|
|
} catch {
|
2018-06-12 22:32:29 +00:00
|
|
|
Write-ErrorMessage "Failed to create snapshot: ${PSItem}"
|
2018-05-24 16:57:55 +00:00
|
|
|
exit 1
|
|
|
|
}
|