Я пытаюсь сопоставить объемы (перечисленные в win32_volume
для тех, где DriveType = 3
) вернуться к win32_physicaldisk
экземпляры. Все, что я видел в своем исследовании, указывает на то, что ответ - «это невозможно», но опять же, я не читал весь Интернет. :) В настоящее время я получаю информацию с diskpart, но при таком подходе у меня есть ограничения.
В качестве бонуса, если ответ будет «нет, и вот почему», это тоже будет полезно.
Вам следует использовать:
Get-WmiObject -Class Win32_DiskPartition
и
Get-WmiObject -Class Win32_DiskPartition | Select-Object -Property *
Также может использоваться для запроса этой информации на удаленных компьютерах.
Это не обязательно ответ на вопрос wmi, но есть альтернатива. Используйте сценарий diskpart и проанализируйте результаты.
Создайте сценарий diskpart следующим образом:
select disk 3
list volume
Выполните скрипт diskpart из PowerShell (или что-то еще, чтобы проанализировать результаты):
$volumes = diskpart /s myDiskpartScript.txt
$volumes |? {$_ -match 'Volume (\d)'} |% {$matches[1]}
Это захватит все тома, связанные с диском 3, и выведет группу захвата из совпадения регулярного выражения, чтобы показать каждый номер тома. Вы можете добавить дополнительные группы захвата для сбора такой информации, как метка, тип файловой системы и т. Д.
К сожалению, это не удаленный метод и может не соответствовать вашим потребностям, но все же может быть полезно знать.
Это не совсем тома-> диски, но вы можете передать разделы в Get-Disk. Например, это сообщит вам диск, связанный с буквой диска C:
Get-Partition -DriveLetter C | Get-Disk
(Проверено на PS версии 5.1)