Win32_LogicalDisk 类

Win32_LogicalDiskWMI 类表示一个数据源,该数据源解析为运行 Windows 的计算机系统上的实际本地存储设备。

以下语法从托管对象格式 (MOF) 代码中简化,包括所有继承的属性。 属性按字母顺序列出,而不是按 MOF 顺序列出。

语法

[Dynamic, Provider("CIMWin32"), SupportsUpdate, UUID("{8502C4B7-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_LogicalDisk : CIM_LogicalDisk
{
  uint16   Access;
  uint16   Availability;
  uint64   BlockSize;
  string   Caption;
  boolean  Compressed;
  uint32   ConfigManagerErrorCode;
  boolean  ConfigManagerUserConfig;
  string   CreationClassName;
  string   Description;
  string   DeviceID;
  uint32   DriveType;
  boolean  ErrorCleared;
  string   ErrorDescription;
  string   ErrorMethodology;
  string   FileSystem;
  uint64   FreeSpace;
  datetime InstallDate;
  uint32   LastErrorCode;
  uint32   MaximumComponentLength;
  uint32   MediaType;
  string   Name;
  uint64   NumberOfBlocks;
  string   PNPDeviceID;
  uint16   PowerManagementCapabilities[];
  boolean  PowerManagementSupported;
  string   ProviderName;
  string   Purpose;
  boolean  QuotasDisabled;
  boolean  QuotasIncomplete;
  boolean  QuotasRebuilding;
  uint64   Size;
  string   Status;
  uint16   StatusInfo;
  boolean  SupportsDiskQuotas;
  boolean  SupportsFileBasedCompression;
  string   SystemCreationClassName;
  string   SystemName;
  boolean  VolumeDirty;
  string   VolumeName;
  string   VolumeSerialNumber;
};

成员

Win32_LogicalDisk 类具有以下类型的成员:

方法

Win32_LogicalDisk 类具有这些方法。

方法 说明
Chkdsk 调用磁盘上的 Chkdsk 操作。
ExcludeFromAutochk Chkdsk 操作中排除将在下次重启时运行的磁盘。
重置 未实现。 有关如何实现此方法的详细信息,请参阅文档CIM_LogicalDisk中的 Reset 方法。
ScheduleAutoChk 如果设置了 脏 位,则计划下次重启时要运行的 Chkdsk
SetPowerState 未实现。 有关如何实现此方法的详细信息,请参阅 CIM_LogicalDisk 中的 SetPowerState 方法。

属性

Win32_LogicalDisk 类具有这些属性。

访问

数据类型: uint16

访问类型:只读

可用的媒体访问类型。

此属性继承自 CIM_StorageExtent

未知 (0)

可读 (1)

可写 (2)

可写

支持读/写 (3)

写入一次 (4)

可用性

数据类型: uint16

访问类型:只读

限定符: MappingStrings (“MIF”。DMTF |操作状态|003.5“,”MIB。IETF |HOST-RESOURCES-MIB.hrDeviceStatus“)

设备的可用性和状态。

此属性继承自 CIM_LogicalDevice

其他 (1)

未知 (2)

运行/全功率 (3)

运行或全功率

警告 (4)

在测试 (5)

不适用 (6)

关机 (7)

下线 (8)

Offline

下班 (9)

降级 (10)

未安装 (11)

安装错误 (12)

节能 - 未知 (13)

已知设备处于节能模式,但其确切状态未知。

节能 - 低功耗模式 (14)

设备处于省电状态,但仍可正常运行,性能可能会下降。

节能 - 待机 (15)

设备无法正常工作,但可以快速通电。

Power Cycle (16)

节能 - 警告 (17)

设备处于警告状态,但也处于节能模式。

暂停 (18)

设备已暂停。

未就绪 (19)

设备未准备就绪。

未配置 (20)

设备未配置。

静止 (21)

设备安静。

BlockSize

数据类型: uint64

访问类型:只读

限定符: MappingStrings (“MIB”。IETF |HOST-RESOURCES-MIB.hrStorageAllocationUnits“) , Units (”bytes“)

构成此存储区的块的大小(以字节为单位)。 如果未知或块概念无效 (例如,对于聚合盘区、内存或逻辑磁盘) ,请输入 1。

此属性继承自 CIM_StorageExtent

有关在脚本中使用 uint64 值的详细信息,请参阅 WMI 中的脚本

Caption

数据类型: string

访问类型:只读

限定符: MaxLen (64) 、 DisplayName (“Caption”)

对象的简短说明为单行字符串。

此属性继承自 CIM_ManagedSystemElement

Compressed

数据类型: 布尔值

访问类型:只读

限定符: MappingStrings (“Win32API|文件系统函数 |GetVolumeInformation |FS_VOL_IS_COMPRESSED“)

如果 为 True,则逻辑卷作为单个压缩实体存在,例如 DoubleSpace 卷。 如果支持基于文件的压缩(例如在 NTFS 上),则此属性为 False

ConfigManagerErrorCode

数据类型: uint32

访问类型:只读

限定符: 架构 (“Win32”)

Windows Configuration Manager错误代码。

此属性继承自 CIM_LogicalDevice

此设备工作正常。 (0)

设备工作正常。

此设备配置不正确。 (1)

设备配置不正确。

Windows 无法加载此设备的驱动程序。 (2)

此设备的驱动程序可能已损坏,或者系统的内存或其他资源可能运行不足。 (3)

此设备的驱动程序可能已损坏,或者系统内存或其他资源可能不足。

此设备无法正常工作。其中一个驱动程序或注册表可能已损坏。 (4)

设备无法正常工作。 其中一个驱动程序或注册表可能已损坏。

此设备的驱动程序需要 Windows 无法管理的资源。 (5)

设备的驱动程序需要 Windows 无法管理的资源。

此设备的启动配置与其他设备冲突。 (6)

设备的启动配置与其他设备冲突。

无法筛选。 (7)

缺少设备的驱动程序加载程序。 (8)

缺少设备的驱动程序加载程序。

此设备无法正常工作,因为控制固件错误地报告设备的资源。 (9)

设备无法正常工作。 控制固件错误地报告了设备的资源。

此设备无法启动。 (10)

设备无法启动。

此设备失败。 (11)

设备失败。

此设备找不到可以使用的足够可用资源。 (12)

设备找不到足够的可用资源来使用。

Windows 无法验证此设备的资源。 (13)

Windows 无法验证设备资源。

在重启计算机之前,此设备无法正常工作。 (14)

在重启计算机之前,设备无法正常工作。

此设备无法正常工作,因为可能存在重新枚举问题。 (15)

设备由于可能的重新枚举问题而无法正常工作。

Windows 无法识别此设备使用的所有资源。 (16)

Windows 无法识别设备使用的所有资源。

此设备请求未知资源类型。 (17)

设备正在请求未知资源类型。

重新安装此设备的驱动程序。 (18)

必须重新安装设备驱动程序。

使用 VxD 加载程序失败。 (19)

注册表可能已损坏。 (20)

注册表可能已损坏。

系统故障:尝试更改此设备的驱动程序。如果这不起作用,请参阅硬件文档。Windows 正在删除此设备。 (21)

系统故障。 如果更改设备驱动程序无效,请参阅硬件文档。 Windows 正在删除设备。

此设备已禁用。 (22)

设备已禁用。

系统故障:尝试更改此设备的驱动程序。如果这不起作用,请参阅硬件文档。 (23)

系统故障。 如果更改设备驱动程序无效,请参阅硬件文档。

此设备不存在、工作不正常或未安装其所有驱动程序。 (24)

设备不存在、工作不正常或未安装其所有驱动程序。

Windows 仍在设置此设备。 (25)

Windows 仍在设置设备。

Windows 仍在设置此设备。 (26)

Windows 仍在设置设备。

此设备没有有效的日志配置。 (27)

设备没有有效的日志配置。

未安装此设备的驱动程序。 (28)

未安装设备驱动程序。

此设备处于禁用状态,因为设备的固件未为其提供所需的资源。 (29)

设备已禁用。 设备固件未提供所需的资源。

此设备使用另一个设备正在使用的中断请求 (IRQ) 资源。 (30)

设备正在使用另一个设备正在使用的 IRQ 资源。

此设备无法正常工作,因为 Windows 无法加载此设备所需的驱动程序。 (31)

设备无法正常工作。 Windows 无法加载所需的设备驱动程序。

ConfigManagerUserConfig

数据类型: 布尔值

访问类型:只读

限定符: 架构 (“Win32”)

如果 为 True,则设备使用的是用户定义的配置。

此属性继承自 CIM_LogicalDevice

CreationClassName

数据类型: 字符串

访问类型:只读

限定符: CIM_Key

要显示在创建实例时使用的继承链中的第一个具体类的名称。 与 类的其他键属性一起使用时, 属性允许唯一标识此类及其子类的所有实例。

此属性继承自 CIM_LogicalDevice

描述

数据类型: 字符串

访问类型:只读

限定符: DisplayName (“Description”)

对象的说明。

此属性继承自 CIM_ManagedSystemElement

DeviceID

数据类型: 字符串

访问类型:只读

限定符: 替代 (“DeviceId”) 、 MappingStrings (“WMI”)

系统上其他设备的逻辑磁盘的唯一标识符。

此属性继承自 CIM_LogicalDevice

有关检索此属性的代码示例,请参阅下面的“备注”部分。

DriveType

数据类型: uint32

访问类型:只读

限定符: MappingStrings (“Win32API|FileFunctions |GetDriveType“)

对应于此逻辑磁盘表示的磁盘驱动器类型的数值。

未知 (0)

无根目录 (1)

可移动磁盘 (2)

本地磁盘 (3)

网络驱动器 (4)

光盘 (5)

RAM 磁盘 (6)

ErrorCleared

数据类型: 布尔值

访问类型:只读

如果 为 True,则现已清除 LastErrorCode 中报告的错误。

此属性继承自 CIM_LogicalDevice

ErrorDescription

数据类型: 字符串

访问类型:只读

有关 LastErrorCode 中记录的错误的详细信息,以及有关可能采取的任何纠正措施的信息。

此属性继承自 CIM_LogicalDevice

ErrorMethodology

数据类型: 字符串

访问类型:只读

此存储区支持的错误检测和更正的类型。

此属性继承自 CIM_StorageExtent

文件

数据类型: 字符串

访问类型:只读

限定符: MappingStrings (“Win32API|文件系统函数GetVolumeInformation)

逻辑磁盘上的文件系统。

示例:“NTFS”

FreeSpace

数据类型: uint64

访问类型:只读

限定符: 单位 (“bytes”)

逻辑磁盘上可用的空间(以字节为单位)。

此属性继承自 CIM_LogicalDisk

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

InstallDate

数据类型: datetime

访问类型:只读

限定符: MappingStrings (“MIF”。DMTF |ComponentID|001.5“) , DisplayName (”安装日期“)

对象的安装日期和时间。 此属性不需要值来指示已安装对象。

此属性继承自 CIM_ManagedSystemElement

LastErrorCode

数据类型: uint32

访问类型:只读

逻辑设备报告的最后一个错误代码。

此属性继承自 CIM_LogicalDevice

MaximumComponentLength

数据类型: uint32

访问类型:只读

限定符: MappingStrings (“Win32API|文件系统函数GetVolumeInformation)

Windows 驱动器支持的文件名组件的最大长度。 文件名组件是反斜杠之间的文件名部分。 值可用于指示指定的文件系统支持长名称。 例如,对于支持长名称的 FAT 文件系统,函数存储值 255,而不是以前的 8.3 指示器。 使用 NTFS 文件系统的系统上也支持长名称。

示例:255

MediaType

数据类型: uint32

访问类型:只读

限定符: MappingStrings (“Win32API|设备输入和输出函数 |DeviceIoControl“)

逻辑驱动器中当前存在的媒体类型。 此值将是 Winioctl.h 中定义的 MEDIA_TYPE 枚举的值之一。 如果驱动器中当前没有媒体,则该值对于可移动驱动器可能不精确。

格式未知 (0)

5 英寸软盘 (1)

5 1/4 英寸软盘 - 1.2 MB - 512 字节/扇区

3 英寸软盘 (2)

3 1/2 英寸软盘 - 1.44 MB -512 字节/扇区

3 英寸软盘 (3)

3 1/2 英寸软盘 - 2.88 MB - 512 字节/扇区

3 英寸软盘 (4)

3 1/2 英寸软盘 - 20.8 MB - 512 字节/扇区

3 英寸软盘 (5)

3 1/2 英寸软盘 - 720 KB - 512 字节/扇区

5 英寸软盘 (6)

5 1/4 英寸软盘 - 360 KB - 512 字节/扇区

5 英寸软盘 (7)

5 1/4 英寸软盘 - 320 KB - 512 字节/扇区

5 英寸软盘 (8)

5 1/4 英寸软盘 - 320 KB - 1024 字节/扇区

5 英寸软盘 (9)

5 1/4 英寸软盘 - 180 KB - 512 字节/扇区

5 英寸软盘 (10)

5 1/4 英寸软盘 - 160 KB - 512 字节/扇区

软盘以外的可移动媒体 (11)

修复了硬盘媒体 (12)

3 英寸软盘 (13)

3 1/2 英寸软盘 - 120 MB - 512 字节/扇区

3 英寸软盘 (14)

3 1/2 英寸软盘 - 640 KB - 512 字节/扇区

5 英寸软盘 (15)

5 1/4 英寸软盘 - 640 KB - 512 字节/扇区

5 英寸软盘 (16)

5 1/4 英寸软盘 - 720 KB - 512 字节/扇区

3 英寸软盘 (17)

3 1/2 英寸软盘 - 1.2 MB - 512 字节/扇区

3 英寸软盘 (18)

3 1/2 英寸软盘 - 1.23 MB - 1024 字节/扇区

5 英寸软盘 (19)

5 1/4 英寸软盘 - 1.23 MB - 1024 字节/扇区

3 英寸软盘 (20)

3 1/2 英寸软盘 - 128 MB - 512 字节/扇区

3 英寸软盘 (21)

3 1/2 英寸软盘 - 230 MB - 512 字节/扇区

8 英寸软盘 (22)

8 英寸软盘 - 256 KB - 128 字节/扇区

名称

数据类型: 字符串

访问类型:只读

限定符: DisplayName (“Name”)

对象的已知标签。 子类化后,可将此属性重写为键属性。

此属性继承自 CIM_ManagedSystemElement

NumberOfBlocks

数据类型: uint64

访问类型:只读

限定符: MappingStrings (“MIB”。IETF |HOST-RESOURCES-MIB.hrStorageSize“)

连续块的总数,每个块是 BlockSize 属性中包含的值的大小,构成此存储区。 存储区的总大小可以通过将 BlockSize 属性的值乘以此属性的值来计算。 如果 BlockSize 的值为 1,则此属性是存储区的总大小。

此属性继承自 CIM_StorageExtent

有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本

PNPDeviceID

数据类型: 字符串

访问类型:只读

限定符: 架构 (“Win32”)

Windows 即插即用逻辑设备的设备标识符。

此属性继承自 CIM_LogicalDevice

示例:“*PNP030b”

PowerManagementCapabilities

数据类型: uint16 数组

访问类型:只读

逻辑设备的特定电源相关功能的数组。

此属性继承自 CIM_LogicalDevice

未知 (0)

不支持 (1)

禁用 (2)

已启用 (3)

电源管理功能当前已启用,但确切功能集未知或信息不可用。

自动进入节能模式 (4)

设备可以根据使用情况或其他条件更改其电源状态。

Power State Settable (5)

支持 SetPowerState 方法。 此方法在父 CIM_LogicalDevice 类上找到,可以实现。 有关详细信息,请参阅 设计托管对象格式 (MOF) 类

支持电源循环 (6)

可以在 PowerState 参数设置为 5 的情况下调用 SetPowerState 方法, (Power Cycle) 。

支持计时开机 (7)

支持计时Power-On

可以使用 PowerState 参数设置为 5 (Power Cycle) 和时间设置为开机的特定日期和时间或间隔来调用 SetPowerState 方法。

PowerManagementSupported

数据类型: 布尔值

访问类型:只读

如果 为 True,则设备可以进行电源管理 (可以置于挂起模式,依此) 。 此属性并不指示当前已启用电源管理功能,仅指示逻辑设备能够进行电源管理。

此属性继承自 CIM_LogicalDevice

ProviderName

数据类型: 字符串

访问类型:只读

限定符: MappingStrings (“Win32API|Windows 网络函数 |WNetGetConnection“)

逻辑设备的网络路径。

用途

数据类型: 字符串

访问类型:只读

描述媒体及其用途的自由格式字符串。

此属性继承自 CIM_StorageExtent

QuotasDisabled

数据类型: 布尔值

访问类型:只读

指示未在此系统上 (TRUE) 启用配额管理。

QuotasIncomplete

数据类型: 布尔值

访问类型:只读

指示已使用配额管理,但已禁用 (True) 。 不完整是指禁用配额管理后文件系统中留下的信息。

QuotasRebuilding

数据类型: 布尔值

访问类型:只读

如果 为 True,则表示文件系统处于编译信息和设置磁盘以用于配额管理的活动过程中。

大小

数据类型: uint64

访问类型:只读

限定符: 单位 (“bytes”)

磁盘驱动器的大小。

此属性继承自 CIM_LogicalDisk

有关检索此属性的代码示例,请参阅下面的“备注”部分。

Status

数据类型: 字符串

访问类型:只读

限定符: MaxLen (10) 、 DisplayName (“Status”)

对象的当前状态。 可以定义各种操作和非操作状态。 操作状态包括:“正常”、“降级”和“预失败”, (元素(例如已启用 SMART 的硬盘驱动器)可能正常运行,但预测近期) 故障。 非操作状态包括:“错误”、“正在启动”、“正在停止”和“服务”。 后者“服务”可以在磁盘镜像重新同步、重新加载用户权限列表或其他管理工作期间应用。 并非所有此类工作都处于联机状态,但托管元素既不是“正常”,也不是处于其他状态之一。

此属性继承自 CIM_ManagedSystemElement

包括以下值:

OK (“OK”)

错误 (“错误”)

降级 (“已降级”)

未知 (“未知”)

Pred Fail (“Pred Fail”)

starting (“Starting”)

停止 (“停止”)

服务 (“服务”)

压力 (“有压力”)

NonRecover (“NonRecover”)

无联系人 (“无联系人”)

Lost Comm (“Lost Comm”)

StatusInfo

数据类型: uint16

访问类型:只读

限定符: MappingStrings (“MIF”。DMTF |操作状态|003.3“)

逻辑设备的状态。 如果此属性不适用于逻辑设备,则应使用值 5 (不适用) 。

此属性继承自 CIM_LogicalDevice

其他 (1)

未知 (2)

已启用 (3)

禁用 (4)

不适用 (5)

SupportsDiskQuotas

数据类型: 布尔值

访问类型:只读

如果 为 True,则此卷支持磁盘配额。

SupportsFileBasedCompression

数据类型: 布尔值

访问类型:只读

限定符: MappingStrings (“Win32API|文件系统函数 |GetVolumeInformation |FS_FILE_COMPRESSION“)

如果 为 True,则逻辑磁盘分区支持基于文件的压缩,例如 NTFS 文件系统的情况。 当 Compressed 属性为 True 时,此属性为 False

SystemCreationClassName

数据类型: 字符串

访问类型:只读

限定符: 传播 (“CIM_SystemCreationClassName“) , CIM_Key

范围计算机 CreationClassName 属性的值。

此属性继承自 CIM_LogicalDevice

SystemName

数据类型: 字符串

访问类型:只读

限定符: 传播 (“CIM_SystemName“) , CIM_Key

范围系统的名称。

此属性继承自 CIM_LogicalDevice

VolumeDirty

数据类型: 布尔值

访问类型:只读

限定符: MappingStrings (“FSCTL_IS_VOLUME_DIRTY”)

如果 为 True,则磁盘要求在下次重启时运行 ChkDsk 。 此属性仅适用于表示计算机中物理磁盘的逻辑磁盘实例。 它不适用于映射的逻辑驱动器。

VolumeName

数据类型: 字符串

访问类型:读/写

限定符: MappingStrings (“Win32API|文件系统函数GetVolumeInformation)

逻辑磁盘的卷名称。

约束:最多 32 个字符。

有关检索此属性的代码示例,请参阅下面的“备注”部分。

VolumeSerialNumber

数据类型: 字符串

访问类型:只读

限定符: MappingStrings (“Win32API|文件系统函数GetVolumeInformation)

逻辑磁盘的卷序列号。

约束:最多 11 个字符。

示例:“A8C3-D032”

备注

Win32_LogicalDisk 类派生自派生自 CIM_StorageExtent的 CIM_LogicalDiskCIM_StorageExtent 类派生自 CIM_LogicalDevice

物理磁盘驱动器是任何存储管理系统的基石。 但是,安装物理磁盘驱动器后,用户和系统管理员通常都不会直接处理硬件。 相反,用户和系统管理员都与磁盘上创建的逻辑驱动器进行交互。

逻辑驱动器是已分配了其自己的驱动器号的分区的细分。 (可能具有尚未分配驱动器号的分区。) 在谈到驱动器 C 或驱动器 D 时,指的是逻辑驱动器,而不是物理磁盘驱动器。 同样,将文档保存到驱动器 E 时,将其保存到逻辑驱动器。 物理磁盘构成构成驱动器的硬件,包括头、扇区、圆柱体等组件。 相比之下,逻辑驱动器具有磁盘空间、可用磁盘空间和驱动器号等属性。

注意

Win32_LogicalDisk 类只能用于枚举本地磁盘驱动器的属性。 但是,可以使用 Win32_MappedLogicalDisk 类枚举映射的网络驱动器的属性。

示例

可以在 WMI 任务:磁盘和文件系统主题中找到使用 Win32_LogicalDisk 获取磁盘或卷数据的其他示例。

TechNet 库中的 WMI 信息检索器 VBScript 代码示例使用 Win32_LogicalDisk 类从多个远程计算机检索硬件信息。

使用 wmi/cim 获取磁盘信息...TechNet 库中的 PowerShell 代码示例使用 Win32_LogicalDisk 从目标设备检索 DeviceIDVolumeNameSize。 具体而言,此示例包括严格的异常处理,并返回每个计算机而不是每个磁盘的单个对象。

企业脚本通常涉及在远程计算机上配置硬件和软件;反过来,这要求你事先知道计算机上安装的磁盘驱动器的类型。 例如,仅在驱动器 E 为硬盘时,在驱动器 E 上安装应用程序的脚本才有效。 如果驱动器 E 恰好表示软盘或 CD-ROM 驱动器,则脚本会失败。 以下代码标识计算机上安装的驱动器和驱动器类型

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery ("SELECT * FROM Win32_LogicalDisk")
For Each objDisk in colDisks
 Wscript.Echo "DeviceID: "& objDisk.DeviceID 
 Select Case objDisk.DriveType
 Case 1
 Wscript.Echo "No root directory."
 Case 2
 Wscript.Echo "DriveType: Removable drive."
 Case 3
 Wscript.Echo "DriveType: Local hard disk."
 Case 4
 Wscript.Echo "DriveType: Network disk." 
 Case 5
 Wscript.Echo "DriveType: Compact disk." 
 Case 6
 Wscript.Echo "DriveType: RAM disk." 
 Case Else
 Wscript.Echo "Drive type could not be determined."
 End Select
Next

//be sure to References->Add->System.Management to your project
using System.Management;
...
{
   string strComputer = ".";
            
   ManagementScope namespaceScope = new ManagementScope("\\\\" + strComputer + "\\ROOT\\CIMV2");
   ObjectQuery diskQuery = new ObjectQuery("SELECT * FROM Win32_LogicalDisk");
   ManagementObjectSearcher mgmtObjSearcher = new ManagementObjectSearcher(namespaceScope, diskQuery);
   ManagementObjectCollection colDisks = mgmtObjSearcher.Get();

   foreach (ManagementObject objDisk in colDisks)
   {
      Console.WriteLine("Device ID : {0}", objDisk["DeviceID"]);
                
      switch ((uint)(objDisk["DriveType"]))
      {
         case 1: {   Console.WriteLine("No root directory.");
                     break;}
         case 2: {   Console.WriteLine("DriveType: Removable drive."); 
                     break;}
         case 3: {   Console.WriteLine("DriveType: Local hard disk.");
                     break;}
         case 4: {   Console.WriteLine("DriveType: Network disk.");
                     break;}
         case 5: {   Console.WriteLine("DriveType: Compact disk.");
                     break;}
         case 6: {   Console.WriteLine("DriveType: RAM disk.");
                     break;}
         default: {  Console.WriteLine("Drive type could not be determined.");
                     break;}
      }
      //Readline is in here so the user can see the result before the code exists
      Console.ReadLine();
   }
}

以下示例枚举计算机上所有硬盘驱动器上的可用空间。

Const HARD_DISK = 3
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery ("SELECT * FROM Win32_LogicalDisk WHERE DriveType = " & HARD_DISK & "")
For Each objDisk in colDisks
 Wscript.Echo "Device ID: " & objDisk.DeviceID 
 Wscript.Echo "Free Disk Space: " & objDisk.FreeSpace
Next

//be sure to References->Add->System.Management to your project
using System.Management;
...

const int HARD_DISK = 3;
string strComputer = ".";

ManagementScope namespaceScope = new ManagementScope("\\\\" + strComputer + "\\ROOT\\CIMV2");
ObjectQuery diskQuery = new ObjectQuery("SELECT * FROM Win32_LogicalDisk WHERE DriveType = " + HARD_DISK + "");
ManagementObjectSearcher mgmtObjSearcher = new ManagementObjectSearcher(namespaceScope, diskQuery);
ManagementObjectCollection colDisks = mgmtObjSearcher.Get();

foreach (ManagementObject objDisk in colDisks)
{
    Console.WriteLine("Device ID : {0}", objDisk["DeviceID"]);
    Console.WriteLine("Free Disk Space : {0}", objDisk["FreeSpace"]);
    Console.ReadLine();
}

下面的代码示例返回计算机中每个驱动器上使用的文件系统类型 (FAT、NTFS、FAT32) 等。

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\Root\CIMv2")
Set colDisks = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk")
For Each objDisk in colDisks
    Wscript.Echo "DeviceID: "& vbTab &  objDisk.DeviceID  
    Wscript.Echo "File System: "& vbTab & objDisk.FileSystem
Next

Get-WMIObject Win32_LogicalDisk | Select DeviceID, FileSystem | Format=Table -AutoSize

以下 PowerShell 代码示例检索有关逻辑本地磁盘的其他信息。

Write-Host "Drive information for $env:ComputerName"

Get-WmiObject -Class Win32_LogicalDisk |
    Where-Object {$_.DriveType -ne 5} |
    Sort-Object -Property Name | 
    Select-Object Name, VolumeName, FileSystem, Description, VolumeDirty, `
        @{"Label"="DiskSize(GB)";"Expression"={"{0:N}" -f ($_.Size/1GB) -as [float]}}, `
        @{"Label"="FreeSpace(GB)";"Expression"={"{0:N}" -f ($_.FreeSpace/1GB) -as [float]}}, `
        @{"Label"="%Free";"Expression"={"{0:N}" -f ($_.FreeSpace/$_.Size*100) -as [float]}} |
    Format-Table -AutoSize

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
命名空间
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另请参阅

CIM_LogicalDisk

计算机系统硬件类

WMI 任务:磁盘和文件系统