WMI .NET 技术摘要

来源:互联网 发布:淘宝客服是职责是什么 编辑:程序博客网 时间:2024/05/21 10:20

Windows Management Instrumentation (WMI) 是 Windows 操作系统的一个组件,允许通过编程方式访问企业环境中的管理信息。.NET Framework 中的 WMI 基于原始的 WMI 技术,允许利用 .NET Framework 中的编程优势进行同样的应用程序和提供程序开发。有关更多信息,请参见.NET Framework 中的 WMI 优势

使用 WMI 的 .NET Framework 类位于 System.Management 和 System.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

请参见

原创粉丝点击