Свойства диска читаются через WMI

Я использую WMI для запроса некоторых свойств диска. Считывает ли WMI эту информацию с самого диска или запрашивает реестр? Как прочитать свойства прямо с диска?


person Agnel Kurian    schedule 04.02.2009    source источник


Ответы (3)


Класс Win32_LogicalDisk должен запрашивать фактический диск. Я использую его в powershell, чтобы показать использование диска, которого нет в реестре.

person nabiy    schedule 04.02.2009

Это не обязательно должен быть один источник. Если свойство класса WMi имеет квалификатор MappingStrings, вы можете найти там источник свойства. Например:

Win32_LogicalDisk.VolumeName - Win32API|Функции файловой системы|GetVolumeInformation

Win32_LogicalDisk.MediaType - Win32API|Функции ввода и вывода устройств|DeviceIoControl

Win32_LogicalDisk.NumberOfBlocks — MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize

Таким образом, похоже, что это в основном Win32 API и MIB

person Community    schedule 04.02.2009

WMI запрашивает диск напрямую. В частности, Win32_DiskDrive и Win32_LogicalDisk будут запрашивать различные свойства диска. DiskDrive запрашивает физические свойства и конфигурации, тогда как LogicalDisk запрашивает тома и разделы на самом диске (например, C: и т. д.). Не все свойства WMI будут установлены для конкретного диска; привод может не поддерживать некоторые из них.

Scriptomatic, Microsoft утилита, может написать быстрый скрипт для извлечения всех свойств для каждого класса, если вы хотите его проверить, а также все остальное, связанное с WMI, которое вы можете пожелать. И это можно сделать даже на Perl!

person romandas    schedule 13.07.2009