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_System。CreationClassName「) , 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_StorageExtent。 CIM_StorageExtent類別衍生自CIM_LogicalDevice。
實體磁片磁碟機是任何儲存體管理系統的基礎。 不過,安裝實體磁片磁碟機之後,使用者或系統管理員通常不會直接處理硬體。 相反地,使用者和系統管理員都會與磁片上建立的邏輯磁片磁碟機互動。
邏輯磁片磁碟機是已指派自有磁碟機號的分割區細分。 (您可能擁有尚未指派磁碟機號的磁碟分割。) 當您討論磁片磁碟機 C 或磁片磁碟機 D 時,您是指邏輯磁片磁碟機,而不是實體磁片磁碟機。 同樣地,當您將檔儲存到磁片磁碟機 E 時,您會將其儲存到邏輯磁片磁碟機。 實體磁片會組成組成磁片磁碟機的硬體,包括頭部、磁區和圓柱等元件。 相較之下,邏輯磁片磁碟機具有如磁碟空間、可用磁碟空間和磁碟機號等屬性。
注意
Win32_LogicalDisk類別只能用來列舉本機磁片磁碟機的屬性。 不過,您可以使用 Win32_MappedLogicalDisk 類別來列舉對應網路磁碟機機的屬性。
範例
您可以在WMI 工作:磁片和檔案系統主題中找到使用Win32_LogicalDisk取得磁片或磁片區資料的其他範例。
TechNet 資源庫中的 WMI 資訊擷取器 VBScript 程式碼範例會使用 Win32_LogicalDisk 類別,從許多遠端電腦擷取硬體資訊。
使用 wmi/cim 取得磁片資訊...TechNet 資源庫中的 PowerShell 程式碼範例會使用Win32_LogicalDisk,從目標裝置擷取DeviceID、VolumeName和Size。 特別是,此範例包含嚴格的例外狀況處理,並傳回每部電腦的單一物件,而不是每個磁片。
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 |
|
| DLL |
|