通过WMI读取磁盘驱动器属性

问题描述:

我正在使用WMI查询某些磁盘驱动器的属性。 WMI会从驱动器本身读取此信息还是查询注册表?如何直接从驱动器读取属性?通过WMI读取磁盘驱动器属性

Win32_LogicalDisk Class必须查询实际驱动器。我在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_DiskDriveWin32_LogicalDisk类将查询有关驱动器的各种属性。 DiskDrive查询物理属性和配置,而LogicalDisk查询驱动器本身的卷和分区(如C:等)。并非所有WMI属性都将设置为特定的驱动器;驱动器可能不支持某些驱动程序。

Scriptomatic是一个Microsoft公用程序,可以编写一个快速脚本来为每个类提取所有属性,如果您想检查它,以及WMI相关的任何其他内容,您可能需要。它甚至会在Perl中完成!