Win32 _ LogicalDisk 類別

Win32 _ LogicalDisk WMI 類別代表在執行 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;
  string   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 | 主機-RESOURCES-hrDeviceStatus ")

裝置的可用性和狀態。

這個屬性繼承自 CIM _ LogicalDevice

其他 (1)

未知 的 (2)

執行中 /完整電源 (3)

執行中或完整電源

警告 (4)

在測試 (5)

不適用 (6)

關閉 (7) 的電源

Off 行 (8)

離線

Off (9)

(10) 降級

未安裝 (11)

安裝錯誤 (12)

電-未知的 (13)

裝置已知處於省電模式,但其確切狀態不明。

電-低電源模式 (14)

裝置處於省電狀態,但仍正常運作,而且可能會顯示效能下降。

電-待命 (15)

裝置無法正常運作,但可快速進入完整電源。

(16) 的 電源週期

電-警告 (17)

裝置處於警告狀態,但也處於省電模式。

暫停 (18)

裝置已暫停。

未就緒 (19)

裝置未就緒。

未設定 (20)

裝置未設定。

靜止 (21)

裝置為靜音。

BlockSize

資料類型: uint64

存取類型:唯讀

限定詞: MappingStrings ( "MIB。IETF | 主機-RESOURCES-hrStorageAllocationUnits ") , 單位 (" bytes ")

形成此儲存區之區塊的大小(以位元組為單位)。 如果未知或區塊概念無效 (例如,針對匯總範圍、記憶體或邏輯磁片) ,請輸入1。

這個屬性繼承自 CIM _ StorageExtent

如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本

標題

資料類型: 字串

存取類型:唯讀

限定詞: MaxLen (64) , DisplayName ( "Caption" )

物件的簡短描述(單行字串)。

這個屬性繼承自 CIM _ ManagedSystemElement

Compressed

資料類型: 布林值

存取類型:唯讀

限定詞: MappingStrings ( 「Win32API | 檔案系統函式 | GetVolumeInformation | FS _ 音量 _ 已 _ 壓縮」 )

為 True,則邏輯磁片區會以單一壓縮的實體形式存在,例如 DoubleSpace 磁片區。 如果支援以檔案為基礎的壓縮,例如 NTFS,則此屬性為 False

ConfigManagerErrorCode

資料類型: uint32

存取類型:唯讀

限定詞: 架構 ( "Win32" )

Windows設定管理員錯誤碼。

這個屬性繼承自 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 _ 金鑰

第一個具體類別的名稱,這個類別會出現在建立實例時所使用的繼承鏈中。 搭配類別的其他索引鍵屬性使用時,屬性可讓這個類別的所有實例和其子類別都能唯一識別。

這個屬性繼承自 CIM _ LogicalDevice

描述

資料類型: 字串

存取類型:唯讀

限定詞: DisplayName ( "Description" )

物件的描述。

這個屬性繼承自 CIM _ ManagedSystemElement

DeviceID

資料類型: 字串

存取類型:唯讀

限定詞: KeyOverride ( "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 | 元件 | 001.5 ") , DisplayName (" 安裝日期 ")

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

這個屬性繼承自 CIM _ ManagedSystemElement

LastErrorCode

資料類型: uint32

存取類型:唯讀

邏輯裝置所報告的最後一個錯誤碼。

這個屬性繼承自 CIM _ LogicalDevice

MaximumComponentLength

資料類型: uint32

存取類型:唯讀

限定詞: MappingStrings ( 「Win32API | 檔案系統函數 GetVolumeInformation)

Windows 磁片磁碟機支援的檔案名元件的最大長度。 Filename 元件是在反斜線之間的檔案名部分。 此值可用來指出指定的檔案系統所支援的完整名稱。 例如,對於支援長名稱的 FAT 檔案系統,此函式會儲存值255,而不是先前的8.3 指標。 使用 NTFS 檔案系統的系統也可以支援完整名稱。

範例:255

MediaType

資料類型: uint32

存取類型:唯讀

限定詞: MappingStrings ( "Win32API | Device Input and Output 函數 | DeviceIoControl" )

目前存在於邏輯磁碟機中的媒體類型。 這個值會是 Winioctl 中所定義之媒體類型列舉的其中一個值 _ 。 如果磁片磁碟機中目前沒有媒體,則此值可能不會完全適用于抽取式磁碟機。

格式不明 (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 | 主機-RESOURCES-hrStorageSize ")

連續區塊總數,每個區塊會封鎖 區塊 屬性中包含的值大小,這會形成此儲存範圍。 您可以將 [ 區塊 ] 屬性的值乘以這個屬性的值,以計算儲存區的總大小。 如果 區塊 的值是1,則這個屬性是儲存區的總大小。

這個屬性繼承自 CIM _ StorageExtent

如需在腳本中使用 uint64 值的詳細資訊,請參閱 WMI 中的腳本

PNPDeviceID

資料類型: 字串

存取類型:唯讀

限定詞: 架構 ( "Win32" )

Windows隨插即用邏輯裝置的裝置識別碼。

這個屬性繼承自 CIM _ LogicalDevice

範例: " * PNP030b"

PowerManagementCapabilities

資料類型: uint16 陣列

存取類型:唯讀

邏輯裝置的特定電源相關功能陣列。

這個屬性繼承自 CIM _ LogicalDevice

未知 的 (0)

不支援 (1)

已停用 (2)

已啟用 (3)

電源管理功能目前已啟用,但實際的功能組不明,或資訊無法使用。

自動輸入的省電模式 (4)

裝置可以根據使用方式或其他準則來變更其電源狀態。

設定的電源狀態 (5)

支援 SetPowerState 方法。 這個方法可在父 CIM _ LogicalDevice 類別上找到,並且可以實作為。 如需詳細資訊,請參閱 設計受控物件格式 (MOF) 類別

支援 (6) 的 電源迴圈

您可以叫用 SetPowerState 方法,並將 >powerstate 參數設定為 5 (電源週期) 。

支援的 (7) 上的電源已超時

支援計時 Power-On

您可以叫用 SetPowerState 方法,並將 >powerstate 參數設定為 5 (電源週期) ,並將 時間 設定為特定日期和時間(或間隔)以進行電源開啟。

PowerManagementSupported

資料類型: 布林值

存取類型:唯讀

為 True,則裝置可以是電源管理 (可進入暫停模式,依此類推) 。 這個屬性不表示電源管理功能目前已啟用,只有邏輯裝置能夠進行電源管理。

這個屬性繼承自 CIM _ LogicalDevice

ProviderName

資料類型: 字串

存取類型:唯讀

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

邏輯裝置的網路路徑。

目的

資料類型: 字串

存取類型:唯讀

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

這個屬性繼承自 CIM _ StorageExtent

QuotasDisabled

資料類型: 布林值

存取類型:唯讀

指出未在此系統上啟用配額管理 (TRUE) 。

QuotasIncomplete

資料類型: 布林值

存取類型:唯讀

表示已使用配額管理,但已停用 (True) 。 [不完整] 指的是停用配額管理之後,檔案系統中剩餘的資訊。

QuotasRebuilding

資料類型: 布林值

存取類型:唯讀

為 True,表示檔案系統正在編譯資訊的使用中進程,以及設定磁片以進行配額管理。

大小

資料類型: 字串

存取類型:唯讀

限定詞: 單位 ( "bytes" )

磁片磁碟機的大小。

這個屬性繼承自 CIM _ LogicalDisk

如需抓取此屬性的程式碼範例,請參閱下方的「備註」一節。

狀態

資料類型: 字串

存取類型:唯讀

限定詞: MaxLen (10) , DisplayName ( "Status" )

物件的目前狀態。 您可以定義各種操作和 nonoperational 狀態。 作業狀態包括:「正常」、「降級」和「Pred 失敗」 (元素(例如啟用智慧的硬碟)可能會正常運作,但在不久的未來) 中預測失敗。 Nonoperational 狀態包括:「錯誤」、「開始」、「正在停止」和「服務」。 後者(「服務」)可以在磁片的鏡像重新同步處理期間套用,重載使用者權限清單或其他系統管理工作。 並非所有這類工作都在線上,但是受控元素不是「確定」,也不是其中一個其他狀態。

這個屬性繼承自 CIM _ ManagedSystemElement

包括下列值:

確定 ( [確定] )

錯誤 ( 「錯誤」 )

降級 ( 「降級」 )

未知 的 ( 「未知」 )

Pred 失敗 ( 「Pred 失敗」 )

開始 ( 「開始」 )

停止 ( 「正在停止」 )

服務 ( 「服務」 )

壓力 ( 「壓力」 )

NonRecover ( "NonRecover" )

沒有連絡人 ( 「沒有連絡人」 )

遺失的 comm ( 「遺失的通訊」 )

StatusInfo

資料類型: uint16

存取類型:唯讀

限定詞: MappingStrings ( "MIF。DMTF | 操作狀態 | 003.3 ")

邏輯裝置的狀態。 如果此屬性不適用於邏輯裝置,則應該使用值 5 (不適用) 。

這個屬性繼承自 CIM _ LogicalDevice

其他 (1)

未知 的 (2)

已啟用 (3)

已停用 (4)

不適用 (5)

SupportsDiskQuotas

資料類型: 布林值

存取類型:唯讀

為 True,則此磁片區支援磁片配額。

SupportsFileBasedCompression

資料類型: 布林值

存取類型:唯讀

限定詞: MappingStrings ( 「Win32API | 檔案系統函數 | GetVolumeInformation | FS _ 檔 _ 壓縮」 )

為 True,則邏輯磁碟分割支援以檔案為基礎的壓縮,例如 NTFS 檔案系統的情況。 當 壓縮 的屬性為 True 時,這個屬性為 False

SystemCreationClassName

資料類型: 字串

存取類型:唯讀

限定詞: 傳播 ( 「CIM _ 系統」。CreationClassName") , CIM _ 金鑰

設定電腦 CreationClassName 的範圍值屬性值。

這個屬性繼承自 CIM _ LogicalDevice

SystemName

資料類型: 字串

存取類型:唯讀

限定詞: 傳播 ( 「CIM _ 系統」。名稱") , CIM _ 金鑰

範圍系統的名稱。

這個屬性繼承自 CIM _ LogicalDevice

VolumeDirty

資料類型: 布林值

存取類型:唯讀

限定詞: MappingStrings ( 「FSCTL _ 是磁片區中途」 _ _ )

為 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 類別來列舉已對應網路磁碟機機的屬性。

範例

您可以使用 Win32 _ LogicalDisk 尋找其他範例,以取得 WMI 工作:磁片和檔案系統 主題中的磁片或磁片區資料。

TechNet 資源庫上的 WMI 資訊 取回程序 VBScript 程式碼範例會使用 Win32 _ LogicalDisk 類別,從多部遠端電腦抓取硬體資訊。

使用 wmi/Cim 取得磁片資訊 ...TechNet 元件庫上的 PowerShell 程式碼範例會使用 Win32 _ LogicalDisk ,從目標裝置取出 DeviceIDVolumeName大小。 尤其是,此範例包含嚴格的例外狀況處理,並會針對每部電腦(而不是每個磁片)傳回單一物件。

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
命名空間
根 \ CIMV2
MOF
CIMWin32 mof
DLL
CIMWin32.dll

另請參閱

CIM _ LogicalDisk

電腦系統硬體類別

WMI 工作:磁片和檔案系統