Я использую WMI для запроса некоторых свойств диска. Считывает ли WMI эту информацию с самого диска или запрашивает реестр? Как прочитать свойства прямо с диска?
Свойства диска читаются через WMI
Ответы (3)
Класс Win32_LogicalDisk должен запрашивать фактический диск. Я использую его в powershell, чтобы показать использование диска, которого нет в реестре.
Это не обязательно должен быть один источник. Если свойство класса WMi имеет квалификатор MappingStrings, вы можете найти там источник свойства. Например:
Win32_LogicalDisk.VolumeName - Win32API|Функции файловой системы|GetVolumeInformation
Win32_LogicalDisk.MediaType - Win32API|Функции ввода и вывода устройств|DeviceIoControl
Win32_LogicalDisk.NumberOfBlocks — MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize
Таким образом, похоже, что это в основном Win32 API и MIB а>
WMI запрашивает диск напрямую. В частности, Win32_DiskDrive и Win32_LogicalDisk будут запрашивать различные свойства диска. DiskDrive запрашивает физические свойства и конфигурации, тогда как LogicalDisk запрашивает тома и разделы на самом диске (например, C: и т. д.). Не все свойства WMI будут установлены для конкретного диска; привод может не поддерживать некоторые из них.
Scriptomatic, Microsoft утилита, может написать быстрый скрипт для извлечения всех свойств для каждого класса, если вы хотите его проверить, а также все остальное, связанное с WMI, которое вы можете пожелать. И это можно сделать даже на Perl!