plugins/providers/hyperv/scripts/export_vm.ps1 in vagrant-unbundled-2.1.1.0 vs plugins/providers/hyperv/scripts/export_vm.ps1 in vagrant-unbundled-2.1.2.0
- old
+ new
@@ -1,15 +1,29 @@
-Param(
+#Requires -Modules VagrantMessages
+
+param(
[Parameter(Mandatory=$true)]
[string]$VmId,
[Parameter(Mandatory=$true)]
[string]$Path
)
-$vm = Hyper-V\Get-VM -Id $VmId -ErrorAction "Stop"
-$vm | Hyper-V\Export-VM -Path $Path
+$ErrorActionPreference = "Stop"
+try {
+ $vm = Hyper-V\Get-VM -Id $VmId
+ $vm | Hyper-V\Export-VM -Path $Path
+} catch {
+ Write-ErrorMessage "Failed to export VM: ${PSItem}"
+ exit 1
+}
+
# Prepare directory structure for box import
-$name = $vm.Name
-Move-Item $Path/$name/* $Path
-Remove-Item -Path $Path/Snapshots -Force -Recurse
-Remove-Item -Path $Path/$name -Force
\ No newline at end of file
+try {
+ $name = $vm.Name
+ Move-Item $Path/$name/* $Path
+ Remove-Item -Path $Path/Snapshots -Force -Recurse
+ Remove-Item -Path $Path/$name -Force
+} catch {
+ Write-ErrorMessage "Failed to format exported box: ${PSItem}"
+ exit 1
+}