ein kleines Skript zur Sicherung aller Vms auf eine externe Festplatte.
Wichtig: Das Verzeichnis muss existieren, ansonsten bricht das Skript ab
# Zielpfad auf externer Festplatte
$ExportRoot = "D:\HyperV-Exports"
# Prüfen ob Ziel existiert
if (-not (Test-Path $ExportRoot)) {
Write-Error "Zielpfad $ExportRoot existiert nicht. Abbruch."
exit 1
}
# Zeitstempel
$Timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$ExportBase = Join-Path $ExportRoot "Export_$Timestamp"
# Export-Basisverzeichnis anlegen
New-Item -ItemType Directory -Path $ExportBase | Out-Null
# Alle VMs ermitteln
$VMs = Get-VM
if ($VMs.Count -eq 0) {
Write-Host "Keine virtuellen Maschinen gefunden."
exit 0
}
foreach ($VM in $VMs) {
$VMExportPath = Join-Path $ExportBase $VM.Name
Write-Host "Exportiere VM '$($VM.Name)' nach $VMExportPath ..."
try {
Export-VM -Name $VM.Name -Path $VMExportPath -ErrorAction Stop
Write-Host "✓ Export von '$($VM.Name)' abgeschlossen."
}
catch {
Write-Error "✗ Fehler beim Export von '$($VM.Name)': $_"
}
}
Write-Host "Alle Exporte abgeschlossen."

Schreibe einen Kommentar