近来,在作这个东西!从网上,书上查找了很多的资料。当然,也从博客园中得到了不少的收获。现在,将我学到的东西,将我查到的东西,进行一下总结,共大家来一起分享。
首先从,什么WMI开始说起吧!近来事情比较忙,所以文章也没有做完,不过以后我会补上的。
WMI的应用编程(C#版)
临危受命
一.WMI的基础
1. WMI的基本介绍
WMI作为Windows 2000操作系统的一部分提供了可伸缩的,可扩展的管理架构,公共信息模型(CIM)是由分布式管理任务标准协会(DMTF)设计的一种可扩展的,面向对象的架构,用于管理系统、网络、应用程序、数据库和设备。Windows管理规范也称为CIM for Windows,提供了统一的访问管理的方式。如果需要获取详细信息的WMI信息请读者查阅MSDN。System.Management组件提供对大量关系信息和管理事件集合的访问,这些信息和事件是与根据Windows管理规范(WMI)结构对系统、设备和应用程序设置监测点有关的。
MSDN网址:http://msdn.microsoft.com/en-us/library/aa394582.aspx
Using WMI with the .NET Framework
MSDN网址:http://msdn.microsoft.com/en-us/library/aa310909(VS.71).aspx
2. Windows 管理规范(WMI)是可伸缩的系统管理结构,它采用一个统一的、基于标准的、可扩展的面向对象接口。WMI为您提供与系统管理信息和基础WMI API交互的标准方法。WMI主要由系统管理员和管理员用来访问和操作管理信息。
WMI提供了大量的规范以便为许多高端应用程序(例如,Microsoft Exchange、Microsoft SQL Server和IIS实现几乎任何的管理任务。管理员可以执行下列操作:
1) 监视应用程序的运行状况
2) 检测瓶颈或故障
3) 管理和配置应用程序
4) 查询应用程序数据(使用对象关系的遍历和查询)
5) 执行无缝的本地或远程管理操作
WMI结构由以下三层组成:
1) 客户端 使用WMI执行操作(例如,读取管理详细信息、配置系统和预订事件)的软件组件。
2) 对象管理器 提供程序与客户段之间的中间配置,它提供一些关键服务,如标准事件发布和预订,事件筛选、查询引擎等。
3) 提供程序 软件组件,它们捕获实时数据并将其返回到客户段应用程序,处理来自客户端的方法调用并将客户端链接到所管理的基础结构。
通过定义完善的架构向客户端和应用程序无缝地提供了数据和事件以及配置系统的能力。在.NET框架中,System.Management命名空间提供了用于遍历WMI架构的功公共类。
注意:除了.NET框架外,还需要在计算机上安装WMI才能使用该命名中的管理功能。
3. 用System.Management访问管理信息
System.Management 命名空间是.NET框架中的WMI命名空间。此命名空间包括下列支
持WMI操作的第一级类对象:
ManagementObject 或 ManagementClass:分别为单个管理对象和类
ManagementObjectSearcher: 用于根据指定的查询或枚举ManagementObject 或 ManagementClass对象的结合
ManagementEventWatcher:用于预订来自WMI的事件通知
ManagementQuery:用于所有查询类的基础。
以上介绍了WMI的基本知识和WMI与.NET之间的关系。以下我们通过几个实例和了解WMI的工作流程,运用C#如何运用WMI进行操作系统管理和应用程序的配置。
二.WMI的实例验证
有些东西不能只看看就可以,实验吗,就是要不断去尝试,只有这样,自己的技术才会有真正的提高。同时,学习知识一定要抓住
1. 用C#控制远程计算机的服务
1) 基本的用户界面(图2.1)
2) 运行效果图:
3) 在主机项中填写:你要远程连接的主机名或IP地址,用户名和密码必须具有管理员权限才可以.怎么样,很想看他是怎样实现的吧?那么就让我们,看看它的代码实现吧.
4) 代码实现:首先,打开你的开发工具,VS2005或者是VS2008,然后
(1) 点击[File]——[NEW]——[Project]——[Windows From Application];命名项目名称为:WMIContorlRemoteService
(2) 设计窗体格式如图2.1,其中有一个控件是ListView控件,重命名窗体为RemoteServiceManager
(3) 右击项目[WMIControlRemoteService]——[Add]——[NewItems]——[Code]——[.cs文件],命名为[Win32ServiceManager.cs]
(4) 添加以下代码:(吸取人家的精华之处,要全心全意地投入和付出,这样的生活获取才是我一直以来在追求的生活)有理想就不要放弃自己的理想,就去抓住他,实现他,这点对我们来说,对我们这些年轻人来说,这点是太重要了!有时候看看电影里生活的人们,这点对我们来说是多么的重要,这就是我们需要的一种能力.