Ich nutze – wie wahrscheinlich viele Berater im externen Geschäft – mein Firmennotebook gleichzeitig als Hyper-V-Host für meine Testumgebung. Die Performance ist dank SSD und massig RAM völlig ausreichend. Allerdings hab ich ein chronisches Speicherplatzproblem. Deshalb komprimiere ich regelmäßig die zahlreichen dynamischen VHDX-Datenträger über die Hyper V-Konsole (Datenträger bearbeiten -> … -> Komprimieren). Das mag bei einer Handvoll Dateien noch ganz lustig sein, aber ab einer zweistelligen Anzahl wird es anstrengend.
Deshalb habe ich mir ein PowerShell-Skript gebastelt, das benutzerdefinierte Verzeichnisse rekursiv durchsucht und alle gefundenen VHDX-Dateien bearbeitet.
Get-ChildItem "C:\Hyper V\Virtuelle Maschinen" -recurse -filter *.vhdx | ForEach-Object {Optimize-VHD -Path $_.fullname -Mode Quick}