Windows Management Instrumentation (WMI) 是 Windows 操作系统的一个组件,允许通过编程方式访问应用程序、服务和其他计算机组件的管理信息(例如,配置设置和属性值)。.NET Framework 中的 WMI 基于原始的 WMI 技术,允许利用 .NET Framework 中的编程优势进行同样的应用程序和提供程序开发。有关详细信息,请参阅 .NET Framework 中的 WMI 优势。
WMI 提供预装的类架构,允许使用脚本语言、C#、VB .NET 或 C++ 编写的脚本或应用程序监视和配置计算机中的应用程序、系统或网络组件以及硬件。例如,Win32_Process 类的实例表示计算机上的所有进程,Win32_LogicalDisk 类可以表示任何磁盘设备。有关可用 WMI 类的详细信息,请参阅 MSDN Library 中 Windows Management Instrumentation 文档中的“Win32 Classes(Win32 类)”。
使用 WMI 的 .NET Framework 类位于 System.Management 和 System.Management.Instrumentation 命名空间中。但是,基于 .NET Framework 的托管代码应用程序具有原始的 WMI 提供程序和应用程序所没有的一些限制。有关详细信息,请参阅 .NET Framework 中的 WMI 局限性。
WQL语言简介和WQL测试工具wbemtest.exe使用方法详细介绍:
http://www.jb51.net/article/52489.htm
WMI 体系结构由以下层组成:
-
客户端软件组件使用 WMI 执行操作(例如,读取管理详细信息、配置系统和订阅事件)的软件组件。
-
对象管理器是 WMI 提供程序与客户端之间的中间装置,它提供一些关键服务,例如标准事件发布和订阅、事件筛选、查询引擎以及其他服务。
-
提供程序软件组件捕获实时数据并将其返回到客户端应用程序,处理来自客户端的方法调用并将客户端链接到所管理的系统组件。
有关 WMI 体系结构的详细背景信息,请参阅 WMI .NET 体系结构和 WMI 和 .NET Framework 架构。
WMI.NET命名空间:
WMI .NET 类简介
下面的表列出每个指定的任务范围必须使用的主要类。如果有关,还会列出关联的接口和配置元素。这并不是每个命名空间中所有类的综合列表,但是包括“如何”主题中阐释的所有类。
System.Management 命名空间
技术范围 | 类/接口/配置元素 |
---|---|
收集 WMI 类信息 | |
查询数据 异步查询数据 | SelectQuery, ManagementObjectSearcher, WqlObjectQuery, ObjectQuery |
执行方法 异步执行方法 | ManagementOperationObserver |
接收事件 异步接收事件 | WqlEventQuery, ManagementEventWatcher EventArrivedEventArgs, EventArrivedEventHandler, CompletedEventArgs, CompletedEventHandler |
连接到远程计算机 |
System.Management.Instrumentation 命名空间
技术范围 | 类/接口/配置元素 |
---|---|
创建数据提供程序 | Instance, InstrumentationClassAttribute, InstrumentedAttribute |
创建事件提供程序 | |
注册提供程序 |