25 lines
560 B
PowerShell
25 lines
560 B
PowerShell
#Requires -Modules VagrantMessages
|
|
|
|
param(
|
|
[Parameter(Mandatory=$true)]
|
|
[string]$VmId,
|
|
[string]$SnapName
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
try {
|
|
$VM = Hyper-V\Get-VM -Id $VmId
|
|
$ChkPnt = $VM.CheckpointType
|
|
if($ChkPnt -eq "Disabled") {
|
|
Hyper-V\Set-VM -VM $VM -CheckpointType "Standard"
|
|
}
|
|
Hyper-V\Checkpoint-VM $VM -SnapshotName $SnapName
|
|
if($ChkPnt -eq "Disabled") {
|
|
Hyper-V\Set-VM -VM $VM -CheckpointType "Disabled"
|
|
}
|
|
} catch {
|
|
Write-ErrorMessage "Failed to create snapshot: ${PSItem}"
|
|
exit 1
|
|
}
|