WMI概述
WMI作為Windows 2000作業系統的一部分提供了可伸縮的,可擴充的管理架構.公共資訊模型(CIM)是由分布式管理任務标準協會(DMTF)設計的一種可擴充的、面向對象的架構,用于管理系統、網絡、應用程式、資料庫和裝置。Windows管理規範也稱作CIM for Windows,提供了統一的通路管理資訊的方式。利用WMI,可以監視、跟蹤和控制有關軟體應用程式、硬體元件和網絡的系統事件,将來自不同來源的資料用通用、标準且邏輯上有組織的方式映像出去,以便在管理資料之間建立互相關系和關聯,而不必考慮這些資料的類型、内容或來源.
使用WMI還會帶來以下便利之處:
統一的程式設計API:所有的管理對象定義在基于CIM的對象模型的公共的對象架構下.腳本或者應用程式可以使用一種API(WMI)通路完全不同的來源的資訊,這些資訊的來源可能是Win32 API,Windows NT事務日志,系統資料庫,計數器,裝置驅動,SNMP和活動目錄等等.
遠端管理:對于應用程式和腳本來說,定義在WMI中的管理對象在本地和遠端都是可用的,尤其是管理遠端的對象并不需要特别的工作.
可發現和導航:應用程式和腳本通過枚舉可用的類來發現系統的那些資訊是可用的.您也可以檢測相關聯的對象之間的關系并且詳細的研究其中的一個是怎麼影響其他的對象的;
查詢:WMI管理資料就像關系資料庫一樣的,您可以使用SQL查詢語句那樣過濾和選取您感興趣的資料;
強大的事件釋出和訂閱:您可以對系統中的管理對象的任何變化而請求事件,或者那些不被内部事件所支援的外部事件.事件的訂閱者可以對特定的事件請求通知,這樣勝于接受在原始的開發過程中預定義的一系列事件.這種結構使得任何使用者定義的動作在給定的事件中開始.
WMI技術組成
WMI由以下幾部分組成:
管理架構
這部分包括CIM對象管理器和CIM對象儲存庫,主要用于儲存模式定義和提供者綁定資訊.特别的,資料是動态的從提供者指令擷取的.
WMI提供者
WMI提供者使用系統提供的任何管理接口提取系統的管理資訊,它作為作業系統、服務、應用程式、或者裝置驅動程式等與 CIMOM 之間的中間代理程式。通過各種 COM 接口,提供程式可向 WMI 提供資料,處理來自系統管理應用程式的請求,并生成事件通知。提供程式還将管理資訊和接口映射到 CIM 儲存庫中定義和存儲的對象類。
WMI使用者
使用者元件和應用程式通過CIMOM監視WMI事件,允許您在事件收到的時候執行動作.“使用者”是系統管理應用程式(如 Microsoft Systems Management Server (SMS))或第三方應用程式或腳本。使用者隻需要知道它們打算擷取其資訊的對象的類。資訊的來源以及實際擷取資訊的方式無關緊要,它們被隐藏起來。使用者可以擷取有關計算機、作業系統、應用程式和裝置的資訊,以及擷取可通過其他管理協定得到的資訊。
公共資訊模型 (Common Information Model, CIM) 儲存庫
“CIM 儲存庫”是一個對象資料庫,用于存儲定義的對象,如用于通路和作業系統管理資訊的靜态類定義和執行個體。
公共資訊模型對象管理器 (Common Information Model object manager, CIMOM)
CIM 儲存庫由 CIMOM 管理,它形同對象請求的代理程式。CIMOM 跟蹤可用的類并決定由哪一個提供程式負責提
供這些類的執行個體。CIMOM 和 CIM 儲存庫由稱為 WinMgmt 的系統服務表示,可通過一組 COM 接口通路。
WMI架構
圖三描述了完整的Windows管理規範WMI的架構,其中還包括了WMI的使用者和提供者的例子.圖3的頂部是一些管理應用程式(WMI的使用者)的例子,除了圖上的使用者之外可能還包括基于浏覽器的web程式,Microsoft管理控制台或定制的Win32程式.
WMI架構的核心由CIM對象管理器和CIM儲存庫以及Win32環境的WMI提供者組成.CIM對象管理器處理資料提供
者個資料的使用者之間的資訊通訊,就如SMS管理控制台或者報表程式調用WMI腳本API.CIM對象存儲庫擁有CIM的模式,當對象管理器為應用程式對CIM對象的請求服務時将使用到這些模式.
定制的Win32程式通過通路COM接口與CIM對象管理器互動來完成管理的請求,而其他的應用程式将通過通路方法,
諸如ODBC,ADSI接口或者Windows裝置管理規範腳本API(也叫做WBEM腳本)來處理這些請求.
圖形的下面部分描述了管理對象和與其關聯的提供者,如windows系統資料庫和與其關聯的注冊資訊提供者.對于本地的CIM對象管理器與遠端的通訊使用DCOM(分布式元件).
利用WMI提供的大量規範,可以為各種各樣的管理應用程式提供幾乎所有的管理任務,這些應用程式包括Microsoft Exchange、Microsoft SQL Server 和 Microsoft Internet Information等。
說道這裡,其實您應該明白WMI隻是一個規範,而且是針對Microsoft的Windows平台上的管理規範,是以也被稱為CIM for Windows。WMI一個很大的特點是對于不同的管理對象-資訊源,不管它來自何處,是什麼類型,開發人員都可以同樣的通過一個公共的結構來通路這些資訊。這些資訊源的類型可能是CPU這樣的硬體,或者是作業系統或者資料庫管理系統,抑或是自己開發的應用程式産品。
部落格園大道至簡
http://www.cnblogs.com/jams742003/轉載請注明:部落格園