Другая опция выполняет GDM по VNC, который даст Вам окно входа в систему GDM по VNC. See Vnc & Gdm
Покопавшись, я использовал следующий метод:
Сначала получите все диски всех виртуальных машин (мой сервер на французском языке, вам следует заменить "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, являются отдельной загрузкой для предыдущих ОС .