WMI测试器

WMI是。。。html

来自百度百科:WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术;用户可使用 WMI 管理本地和远程计算机。dom

此次主要是由于想查看进程运行的用户信息,.NET提供的Process类木有这个信息,因此网上搜了一下,发现都是利用从WMI里查询到的信息来拿到用户信息。而后就又翻了一下WMI是什么东西,貌似功能很丰富的一个东西,主要是里面有系统的各类信息,貌似也能够对系统进行一些操做。而后翻了半天也没太翻明白。。。工具

先记下一些连接之后有机会再仔细研究:post

WMI介绍、WQL:http://www.cnblogs.com/2018/archive/2010/09/25/1834879.html测试

【探索PowerShell 】【十三】WMI对象:http://marui.blog.51cto.com/1034148/296083ui

.NET(C#):调用WMI方法来获得进程的用户名称:http://www.cnblogs.com/mgen/archive/2011/10/26/2225444.htmlspa

 

这里就先说说WMI的测试器,系统自带的,在运行里直接:wbemtesthtm

QQ截图20130831205047

上面就是打开之后的界面,感受很神奇。对象

打开之后,首先要选择右上角的链接:blog

QQ截图20130831205314

WMI的命名空间不少。。。可是找了半天也没找到哪里有个命名空间列表能够显示,最后找到一个XP时代的工具:

WMI Administrative Tools:http://www.microsoft.com/en-us/download/details.aspx?id=24045

这个工具貌似很老了,可是好像还能用,不过也不太好用了,其实上面的连接中有一个讲PowerShell的里面有用PowerShell来查看WMI命名空间的方法,可使用那个东东。

就用此次要查询的进程信息为例吧,它在root的cimv2命名空间下,链接完后点中间有个查询按钮,打开查询窗口:

QQ截图20130831205804

在这里面要输入WQL查询语句,其实跟SQL语法很是的相似,其实我能够说一致么。。。只是查的东西不同。

这里就是从Win32_Process这个,貌似是个类,里面查到全部的进程信息。

image

这里就是查询结果了,里面列出了系统当前全部运行的进程信息,实际上是Win32_Process类的全部对象

双击任意一个能够查看详情:

image

这就是这个对象的具体信息了,主要是在属性里面,能够经过“显示MOF”以文本形式查看:

image

这里面有进程名、进程ID信息,但其实仍是没有要查询的进程用户信息,这时候回去点类,能够看到该对象的类的定义,就是Win32_Process的定义:

image

在这里面能够看到类的属性和方法,方法中的GetOwner就是此次要用到的方法,能够继续双击查看方法的详情:

image

仍是看不到。。。点编辑输出参数:

image

嗯,终于看到了,方法有两个string的返回值分别是user和domain。。。

其实这都是从别人给的调用例子反推出来的,本身找还真很差找,找着了也仍是不会用。。。

相关文章
相关标签/搜索