Очистка Hyper-V R2 неиспользованный vhd и файлы снимка?

Другая опция выполняет GDM по VNC, который даст Вам окно входа в систему GDM по VNC. See Vnc & Gdm

2
задан 19 January 2012 в 10:59
1 ответ

Покопавшись, я использовал следующий метод:

Сначала получите все диски всех виртуальных машин (мой сервер на французском языке, вам следует заменить "Disque dur" на "Hard drive" для английских систем):

$disks = Get-vm | Get-VMDisk | ? { $_.DriveName -Match "disque dur" }

Затем я извлекаю все пути VHD:

$vhds = @()
$disks | % { Get-VHDInfo $_.DiskPath } | % { $vhds+= $_.Path }
$vhds = $vhds | select -unique
write-host $vhds.Length -Foreground Yellow

Наконец, я запускаю следующий код так часто, как требуется. Я останавливаюсь, когда длина массива перестает расти:

$disks | % { Get-VHDInfo $_.DiskPath }  | select ParentPath | ? {$_.ParentPath.Length -Gt 0} | % { $vhds+= $_.ParentPath }
$vhds = $vhds | select -unique
write-host $vhds.Length -Foreground Yellow

$vhds | % { Get-VHDInfo $_ }  | select ParentPath | ? {$_.ParentPath.Length -Gt 0} | % { $vhds+= $_.ParentPath }
$vhds = $vhds | select -unique
write-host $vhds.Length -Foreground Yellow

#Repeat while Length grows

В конце, $ vhds содержит все используемые диски и их родительские диски. Просто перечислите все файлы .vhd и .avhd и вычтите массив $ vhd, чтобы найти бесполезные диски.

Я знаю, что это можно было бы переписать красивым сценарием, но это решило мою проблему.

Эти командлеты включены в Windows Server 2012, являются отдельной загрузкой для предыдущих ОС .

2
ответ дан 3 December 2019 в 12:02

Теги

Похожие вопросы