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 作業排除磁片。
重設 未實作。 如需如何實作此方法的詳細資訊,請參閱檔中的 reset方法CIM_LogicalDisk。
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)

離線

離職 (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 中的腳本

標題

資料類型: 字串

存取類型:唯讀

限定詞: 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)

Compact Disc (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 (」Install Date「)

安裝物件的日期和時間。 這個屬性不需要值來指出已安裝物件。

此屬性繼承自 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 類別上,而且可以實作。 如需詳細資訊,請參閱 設計 Managed 物件格式 (MOF) 類別

(6) 支援的電源迴圈

您可以叫用 SetPowerState 方法,並將 PowerState 參數設定為 5 (Power Cycle) 。

支援的計時電源 (7)

支援的計時Power-On

您可以叫用 SetPowerState 方法,並將 PowerState 參數設定為 5 (Power Cycle) ,並將 Time 設定為電源開啟的特定日期和時間或間隔。

PowerManagementSupported

資料類型: 布林值

存取類型:唯讀

如果 為 True,則裝置可以受電源管理 (可以進入暫停模式,依此類) 。 此屬性不會指出電源管理功能目前已啟用,只有邏輯裝置能夠進行電源管理。

此屬性繼承自 CIM_LogicalDevice

ProviderName

資料類型: 字串

存取類型:唯讀

限定詞:MappingStrings (「Win32API|Windows網路功能|WNetGetConnection「)

邏輯裝置的網路路徑。

目的

資料類型: 字串

存取類型:唯讀

描述媒體及其用法的自由格式字串。

此屬性繼承自 CIM_StorageExtent

QuotasDisabled

資料類型: 布林值

存取類型:唯讀

表示此系統上未啟用配額管理 (TRUE) 。

QuotasIncomplete

資料類型: 布林值

存取類型:唯讀

表示已使用配額管理,但已停用 (True) 。 未完成是指在停用配額管理之後,檔案系統中保留的資訊。

QuotasRebuilding

資料類型: 布林值

存取類型:唯讀

如果為 True,表示檔案系統處於編譯資訊的作用中程式,並設定磁片以進行配額管理。

大小

資料類型: uint64

存取類型:唯讀

限定詞: 單位 (「bytes」)

磁片磁碟機的大小。

此屬性繼承自 CIM_LogicalDisk

如需擷取此屬性的程式碼範例,請參閱下面的一節。

狀態

資料類型: 字串

存取類型:唯讀

限定詞: MaxLen (10) 、 DisplayName (「Status」)

物件的目前狀態。 您可以定義各種作業和非操作狀態。 作業狀態包括:「確定」、「已降級」和「預先失敗」 (啟用 SMART 功能的硬碟等元素可能正常運作,但預測近期) 失敗。 非操作狀態包括:「Error」、「Starting」、「Stopping」 和 「Service」。 後者「服務」可能會在磁片的鏡像重新處理期間套用、重載使用者權限清單或其他系統管理工作。 並非所有這類工作都在線上,但 Managed 元素既不是「確定」,也不是處於其他狀態之一。

此屬性繼承自 CIM_ManagedSystemElement

包括下列值:

OK (「OK」)

錯誤 (「錯誤」)

降級 (「已降級」)

未知 (「未知」)

預先失敗 (「預先失敗」)

開始 (「開始」)

停止 (「停止」)

服務 (「服務」)

壓力 (「壓力」)

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_System名稱「) , 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_LogicalDisk,衍生自CIM_StorageExtentCIM_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。 特別是,此範例包含嚴格的例外狀況處理,並傳回每部電腦的單一物件,而不是每個磁片。

Enterprise腳本通常牽涉到在遠端電腦上設定硬體和軟體;接著,這需要您事先知道電腦上安裝的磁片磁碟機類型。 例如,只有在磁片磁碟機 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 工作:磁片和檔案系統