使用WMI歸根到底是對WMI類的訪問,如何找到合適的類是其中關(guān)鍵的一步。我一直在為找不到合適的類和命名空間苦惱。你也有這樣的問題嗎?
類層次結(jié)構(gòu)
WMI的類是以命名空間和繼承層次方式組織的,呈樹形結(jié)構(gòu)。命名空間的根是root,在它的下面還有十幾個命名空間,最常用的是root\cimv2。命名空間的信息存儲在靜態(tài)類__Namespace類中,要查詢當(dāng)前命名空間下的所有命名空間,可以查看__Namespace類的實例。以下是在我的機器上使用PowerShell查詢到的命名空間:
name
----
subscription
DEFAULT
cimv2
Cli
Nap
MicrosoftIISv2
SECURITY
SmsDm
CCMVDI
RSOP
WebAdministration
ccm
WMI
directory
Policy
virtualization
Interop
Hardware
ServiceModel
Microsoft
aspnet
關(guān)于命名空間更詳細的信息,可以寫一個遞歸的腳本來取得,或者從WMI入門(二):如何使用WMI中提到的WMI CIM Studio工具中查到。
常用WMI類
WMI體系結(jié)構(gòu)中有成百上千個類。我們經(jīng)常用到的只有其中一部分。其中有些是用來查詢實例的,另一些用來查詢類的Schema的。除了上面提到的__Namespace類,我們還會用到__Win32Provider類,來查詢當(dāng)前系統(tǒng)中都有哪些提供程序。這兩個類是系統(tǒng)類。
此外,還有兩類WMI類我們經(jīng)常用到:CIM_*類和Win32_*類。前者是WMI的核心類和公共類,很多時候也被稱為CIM核心類和公共類。后者是Win32擴展類,我們查詢實例多在Win32擴展類中查詢。例如Win32_Product、Win32_LogicalDisk等。
WMI類查找手冊?
很遺憾的是,到目前為止。我沒有發(fā)現(xiàn)一個好用的WMI類查找手冊。但在微軟MSDN網(wǎng)站上,有一個分類。我們可以依照這個分類來做查詢。以下幾個鏈接是我經(jīng)常用到的,貼在這里,希望你能用到。
WMI Reference
Win32 Classes
WMI Providers
結(jié)語
看完上面我寫的這些東西,如果你還是找不到你要的類,那你就只能怪微軟了。我覺得微軟為WMI做的還是太少,至少在類查詢這一塊兒是這樣。在微軟為WMI投入更多之前,我們只能依賴經(jīng)驗和搜索引擎來尋找適當(dāng)?shù)念惲恕?br />
標(biāo)簽:湘潭 天水 臨汾 疫苗接種 喀什 襄陽 汕頭 南昌
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《WMI入門教程之WMI中的類在哪里?》,本文關(guān)鍵詞 WMI,入門教程,之,中的,類,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。