WMI .NET 技術摘要

Windows Management Instrumentation (WMI) 是 Windows 操作系統的一個組件,允許通過編程方式訪問企業環境中的管理信息。.NET Framework 中的 WMI 基於原始的 WMI 技術,允許利用 .NET Framework 中的編程優勢進行同樣的應用程序和提供程序開發。有關更多信息,請參見.NET Framework 中的 WMI 優勢

使用 WMI 的 .NET Framework 類位於 System.ManagementSystem.Management.Instrumentation 命名空間中。但是,基於 .NET Framework 的託管代碼應用程序具有原始的 WMI 提供程序和應用程序所沒有的一些限制。有關更多信息,請參見.NET Framework 中的 WMI 侷限性

關鍵字

限定符,提供程序,WMI 查詢語言,事件使用者,公共信息模型,異步,半同步,Win32 架構,管理應用程序

命名空間

System.Management, System.Management.Instrumentation

相關技術

Windows Management Instrumentation (WMI)

.NET Framework 中的 WMI 基於原始的 WMI 技術。有關原始的 WMI 的更多信息,請在 http://msdn.microsoft.com/library 的 MSDN 庫中參見 Windows Management Instrumentation 文檔中的“關於 WMI”。

背景

WMI 的非託管版本是 Microsoft 實現的基於 Web 的企業管理 (WBEM),WBEM 是爲了使管理企業計算環境的技術標準化而開發的一項行業推薦規範。WMI 使用基於公共信息模型 (CIM) 行業標準的類表示系統、進程、網絡、設備和其他企業組件。

WMI 提供預裝的類架構,允許使用腳本語言、Visual Basic 或 C++ 編寫的腳本或應用程序監視和配置企業中的應用程序、系統或網絡組件以及硬件。例如,Win32_Process 類的實例表示計算機上的所有進程,Win32_LogicalDisk 類可以表示任何磁盤設備。有關更多信息,請在 http://msdn.microsoft.com/library 的 MSDN 庫中參見 Windows Management Instrumentation 文檔中的“Win32 類”。

WMI 結構由以下層組成:

  • 客戶端軟件組件使用 WMI 執行操作(例如,讀取管理詳細信息、配置系統和預訂事件)的軟件組件。

  • 對象管理器是提供程序與客戶端之間的中間裝置,它提供一些關鍵服務,如標準事件發佈和預訂、事件篩選、查詢引擎以及其他服務。

  • 提供程序軟件組件捕獲實時數據並將其返回到客戶端應用程序,處理來自客戶端的方法調用並將客戶端鏈接到所管理的基礎結構。

有關 WMI 和 WMI .NET 的更多背景信息,請參見 WMI 和 .NET Framework 架構。有關預先提供的類、方法和提供程序的更多信息,請在 http://msdn.microsoft.com/library 的 MSDN 庫中參見 Windows Management Instrumentation 文檔中的“關於 WMI”。有關 System.ManagementSystem.Management.Instrumentation 命名空間的更多信息,請參見 .NET Framework 類庫參考.NET Framework 還包含常規的 .NET Framework 編程信息。

實現 WMI .NET 類

.NET Framework 中的 WMI 基於 WMI 技術,允許利用 .NET Framework 的優勢進行同樣的應用程序和提供程序開發。有關更多信息,請參見.NET Framework 中的 WMI 優勢。但是,基於 .NET Framework 的託管代碼應用程序具有原始的 WMI 提供程序所沒有的一些限制。有關更多信息,請參見.NET Framework 中的 WMI 侷限性

WMI 在命名空間中組織重新安裝的類。WMI 命名空間(例如 root/cimv2 和 root/default)不要與 .NET Framework 命名空間 System.ManagementSystem.Management.Instrumentation 混淆。System.Management 命名空間包含 .NET Framework 中的 WMI 類,用於執行 WMI 操作。System.Management.Instrumentation 命名空間包含嚮應用程序中添加規範的類。

管理員和 IT 開發人員可以使用 System.Management 中的類編寫應用程序,用於訪問任何 .NET 語言(例如 ASP.NET、C#、Visual Basic .NET 或 J#)的 WMI 數據。這些應用程序可以:

  • 枚舉或檢索實例屬性數據的集合,例如網絡中所有計算機上的所有 Win32_LogicalDisk 實例的 FreeSpace 屬性。有關更多信息,請在 http://msdn.microsoft.com/library 的 MSDN 庫中參見 Windows Management Instrumentation 文檔中的“Win32_LogicalDisk”。

  • 查詢所選的實例數據。

    .NET Framework 中的 WMI 使用原始的 WMI WQL 查詢語言,該查詢語言是 SQL 的一個子集。有關 WQL 的更多信息,請在 http://msdn.microsoft.com/library 的 MSDN 庫中參見 Windows Management Instrumentation 文檔中的“WQL 查詢語言”。

  • 預訂事件,定義爲事件類的實例。

    在規範化應用程序(提供程序)創建其一個事件類的實例時發生事件。

開發人員可以使用 System.Management.Instrumentation 中的類規範化應用程序,使應用程序可以爲 WMI 提供有關應用程序行爲的數據。

規範包括自己創建具有屬性和方法的類和實例,存儲爲 WMI 提供的應用程序數據。通過爲類設置特定的屬性,可以將其指定爲規範。例如,應用程序可以公開其運行性能狀況以及性能或資源利用狀況的數據。應用程序還可以爲 WMI 提供有關應用程序與其進行交互的設備的數據。可以創建類並在 WMI 中註冊這些類,使該數據可以供其他腳本和應用程序使用。規範化應用程序是 WMI 的數據提供程序,與原始的 WMI 中的提供程序用法相同。

.NET Framework 中的 WMI 的功能由一套內置在 Microsoft Visual Studio .NET 開發環境中的 WMI 工具支持。例如,Visual Studio 服務器資源管理器管理擴展(可從 http://www.microsoft.com/downloads/details.aspx?familyid=62d91a63-1253-4ea6-8599-68fb3ef77de1 下載)可用於幫助開發注重管理的應用程序。

WMI .NET 類簡介

下面的表列出每個指定的任務範圍必須實現的主要類。如果有關,還會列出關聯的接口和配置元素。這並不是每個命名空間中所有類的綜合列表,但是包括“如何”主題中演示的所有類。

System.Management 命名空間

技術範圍 Classes/interfaces/configuration elements

收集 WMI 類信息

ManagementObject, ManagementClass

查詢數據

異步查詢數據

SelectQuery, ManagementObjectSearcher, WqlObjectQuery, ObjectQuery

ManagementObjectCollection, ManagementOperationObserver

執行方法

異步執行方法

ManagementBaseObject

ManagementOperationObserver

接收事件

異步接收事件

WqlEventQuery, ManagementEventWatcher

EventArrivedEventArgs, EventArrivedEventHandler, CompletedEventArgs, CompletedEventHandler

連接到遠程計算機

ConnectionOptions, ManagementScope

System.Management.Instrumentation 命名空間

技術範圍 Classes/interfaces/configuration elements

創建數據提供程序

Instance, InstrumentationClassAttribute, InstrumentedAttribute

創建事件提供程序

BaseEvent, Instrumentation

註冊提供程序

ManagementInstaller

請參見

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章