Ich habe ein Powershell-Skript zum Generieren eines HTML-Berichts, der alle VMs und Snapshots eines Hyper-V-Servers enthält.Hyper-V 2012R2 VM-Snapshot-Datei mit Powershell abrufen
Zuerst bekomme ich alle vms mit Get-VM
. Dann durchlaufe ich diese Liste und bekomme alle Snapshots für eine VM mit Get-VMSnapshot
.
Das Problem, das ich bekam, ist, dass ich nicht sehen kann, wie ich von $VMSnapshot
zu der realen Datei komme, um seine Größe zu bekommen.
Hier ist mein Code:
$VMs = Get-VM -ComputerName $Computers
foreach ($VM in $VMs) {
$VMSnapshots = Get-VMSnapshot -VMName $VM.VMName -ComputerName $VM.ComputerName | Select ComputerName, VMNAME, CreationTime, Path, Name | sort CreationTime
foreach ($VMSnapshot in $VMSnapshots) {
#How to get the filesize of that snapshot?
}
}
Ich weiß, dass sein möglich, die Dateigröße mit $VMSnapshotSize gci -Path $VMSnapshot.Path -Filter *.avhd*
, zu bekommen, aber als ich habe keine Beziehung zwischen $VMSnapshot
und $VMSnapshotSize
da es, dass mehr als eine Momentaufnahme ist Verzeichnis.