WMI-概述

WMI的工具软件 官方版WMI tools,系统检测工具。WMI工具包括:WMI CIM Studio:查看和编辑类,属性,限定词和在CIM储存库的实例;选定的运行方式;生成并编译MOF文件。 WMI对象浏览器:视图对象,编辑属性值和限定词和运行方法。 立即下载

WMI是Windows Management Instrumentation的简称,即:视窗管理规范。在Windows 2000或以后的版本中均安装得有,NT4.0则需要安装WMI的核心组件。通过WMI可以获取远程计算机的各种数据信息,控制远程计算机的各种行为,而这就像操作本地机一样方便、简单。

 

WMI从根本上说应该为一种服务,WMI服务在组件服务中的显示名称为"Windows Management Instrumentation"。对于本地不同的用户,WMI所有的权限也不一样。

 

.Net FrameWork SDK对WMI提供了全面的支持,.Net FrameWork SDK为Visual C#能够操作WMI提供了一个专门的命名空间"System.Management"。在命名空间"System.Management"中提供了大量用以处理和WMI相关的类、接口和枚举。

 

在实际编程中需要注意,System.Management 命名空间中的类都存在于System.Management .dll这个文件中,所以在编程的时候一定要添加对这个dll文件的引用,然后还需要在我们的程序开始处添加如下代码:using 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 子命名空间,相关介绍请参考MSDN

 

有三个工具,使用它们有助于对WMI开发的学习

1、系统自带的wbemtest.exe

2、微软提供的 agement (WMI) Extensions for Visual Studio .NET 2003 Server Explore

3、微软提供的 WMI Code Creator WMI代码生成器

 

这里推荐第三个工具,此外在参考MSDN或使用工具时要注意一点,有些方法的调用可能是与平台相关的,如Win32_NetworkAdapter中的几个方法Disable、Enable、Reset在XP中会提示”在类中找不到这个方法”

 

WMI开发是一个较庞大的知识体系,利用WMI可以完成大致三类操作:

1、数据收集,如CPU、网卡硬件信息

2、执行方法,如设置网卡IP

3、接收事件,如当某个服务启动或停止时应用程序得到通知

 

.net中与WMI相关的主要类介绍:

1、连接

可使用ConnectOptions和ManagementScope类带上连接帐号及密码连接远程计算,本地计算机可略过此步骤

ManagemenScope也不允许带用户名密码方式的本地计算机连接,这会引发一个异常,此外在连接远程计算机时有一些条件需要具备,比如RPC服务可用、本地策略中登录模式为经典模式。相关知识可参考网上“WMI入侵”一文,可使用Recton作一下连接测试,它同样是利用了WMI

 

2、数据收集

在WMI中提供了两种数据收集方式,一是使用ManagementClass,另一种方式是在ManagementObjectSearch类中使用WQL查询语句

注意,对象的属性,它可能是一个变量,也可能是一个数组地址

 

3、方法调用

 ManagementBaseObject提供了InvokeMethod方法进行对象的方法调用,对于有参数的对象方法,需要使用GetMethodParameters方法获取该对象方法的参数,并设置,然后在InvokeMethod调用中传入

 

4、事件通知

事件通知的大致步骤是利用WQL语句写明需要过滤什么事件,建立一个WqlQueryEvent,然后把WqlQueryEvent对象传递给ManagementEventWatcher类的构造,接着进行同部或异步操作等待事件触发通知

 

同步示例

 

参考资料:

WMI .NET 概述
http://msdn.microsoft.com/zh-cn/library/ms257340(VS.80).aspx

 

Windows Management Instrumentation (Windows)
http://msdn.microsoft.com/en-us/library/aa394582(VS.85).aspx

 

WMI Series 1-8
http://www.google.cn/search?hl=zh-CN&newwindow=1&q=site%3Adev.csdn.net+WMI+Series

 

.net中的WMI编程(一):WMI介绍及简单应用
http://blog.csdn.net/zhoufoxcn/archive/2008/01/14/2042697.aspx

 

.net中的WMI编程(二):WMI中的WQL语言和WQL的测试工具
http://blog.csdn.net/zhoufoxcn/archive/2008/01/14/2044246.aspx

 

WMI使用小工具——WMI代码生成器
http://blog.csdn.net/zhoufoxcn/archive/2009/06/16/4272209.aspx

 

Visual C#中用WMI编写网络程序
http://www.anqn.com/dev/vc/2009-06-20/a09111805-1.shtml

 

WMI 远程连接问题解决方法
http://dragon0704.spaces.live.com/blog/cns!732dddd1803acb26!342.entry

 

利用WMI打造完美“三无”后门
http://huaidan.org/archives/2265.html

 

WMI使用说明
http://blog.csdn.net/stbrine/archive/2006/08/19/1096894.aspx

 

WMI初探随记
http://www.nukeblog.cn/article/pw/15.htm

 

WMI使用技巧集 C#
http://www.cnblogs.com/mopems/articles/74921.html

 

利用 WMI 修改计算机的网络设置
http://dev.csdn.net/article/21/21398.shtm

 

利WMI实现监视局域网计算机CPU使用情况
http://www.cnblogs.com/henryfan/archive/2006/09/14/503811.html

 

非常好用的WMI编程工具(WMITools) 利用WMI编程必不可少的辅助工具!最常用它查找WMI函数,及了解使用方法。。。 立即下载

相关推荐

window高级编程之WMI编程应用

window高级编程之WMI编程应用

WMI编程资料.pdf

WMI编程资料.pdf

Python+RF安装包下载,WMI安装包等等

Python+RF安装包下载,WMI安装包等等

WMI系列--关于WMI

WMI的全称是,即Windows管理规范,在Windows操作系统中,随着WMI技术的引入并在之后随着时间的推移而过时,它作为一项功能强大的技术,从和Windows 95开始,始终保持其一致性。它出现在所有的Windows操作系统中,并由一组强大的工具集合组成,用于管理本地或远程Windows系统。虽然WMI已经被大众熟知,并且从其创始以来,已经被系统管理员大量使用,但随着WMI

4SecNet团队专栏 4059

Windows安全基础——Windows WMI详解

WMIWindows Management Instrumentation, Windows管理规范)是Windows2000/XP管理系统的核心,属于管理数据和操作的基础模块。设计WMI的初衷是达到一种通用性,通过WMI操作系统、应用程序等来管理本地或者远程资源。它支持分布式组件对象模型(DCOM,DistributionModel)和Windows远程管理(WinRM),用户可通过WMI服务访问、配置、管理和监视Windows所有资源的功能。

m0_59598029的博客 4651

【内网安全-横向移动】WMI-WMIC命令&相关内网工具

【横向移动-WMI-WMIC命令】wmic、impacket-wmiexec、wmicmd.exe、WMIHACKER

9768

WMI Tools工具介绍

1. 环境设置windowsXp以上系统自带wmi,对于一些比较老的系统需要安装wmi的程序包,可以在微软网站上下载相关程序包和WmiTools这个工具。2. WMI Tools工具介绍安装完成后,执行WMI CIM Studio后,会出现让你选择wmi命名空间的提示,默认为root/cimv,一路按Enter键就ok了。如图一所示: 图一可以看到wmi的结构组织图就像注册

灰太狼的博客 4万+

WMI技术介绍和应用——WMI概述

今天,我要开始一系列关于微软WMI技术的介绍。通过之后若干节的介绍,我想WMI技术将为在windows平台上从事开发的朋友开启另外一扇窗。(转载请指明出于breaksoftware的csdn博客)         第一次接触WMI技术是在一年前,当时我接到一个研究型的需求,无意中发现WMI技术是最可靠的解决方案。当时,WMI这种“特别”的使用方式让我这个VC程序员产生了浓厚的兴趣——像写SQL般

方亮的专栏 4万+

WMI概述

关于wmi的定义可以在网上和msdn中查询,我在这里想说说自己对wmi的理解。WmiWindows Management Instrumentation(windows管理方法)的缩写。在wmi中微软以注册表形式提供了大量的设备信息,可以通过wmi中的相关方法来修改、设置这些设备的信息,从而达到控制计算机的目的。比如可以通过root/cimv2/win32_Directory中的delete方法...

weixin_30488085的博客 117

DELPHI WMI开发---概述

针对DELPHI开发WMI做综合的概述

848

WMI使用小工具——WMI代码生成器

说明:WMI Code Creator是微软提供的一个WMI代码生成工具,这个工具是微软在2005年5月提供的,微软对这个软件提供的说明如下:This code is not supported under any Microsoft standard support program or service.This code is provided AS IS without warrant

周公(周金桥)的专栏 1万+
上一篇: WebClient-Session和Cookie
下一篇: Win32 API PInvoke
X_Craft
博客等级 码龄19年 55粉丝 66原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值