WMI测试器
来自百度百科:WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。
这次主要是因为想查看进程运行的用户信息,.NET提供的Process类木有这个信息,所以网上搜了一下,发现都是利用从WMI里查询到的信息来拿到用户信息。然后就又翻了一下WMI是什么东西,貌似功能很丰富的一个东西,主要是里面有系统的各种信息,貌似也可以对系统进行一些操作。然后翻了半天也没太翻明白。。。
先记下一些链接以后有机会再仔细研究:
WMI介绍、WQL:http://www.cnblogs.com/2018/archive/2010/09/25/1834879.html
【探索PowerShell 】【十三】WMI对象:http://marui.blog.51cto.com/1034148/296083
.NET(C#):调用WMI方法来得到进程的用户名称:http://www.cnblogs.com/mgen/archive/2011/10/26/2225444.html
这里就先说说WMI的测试器,系统自带的,在运行里直接:wbemtest
上面就是打开以后的界面,感觉很神奇。
打开以后,首先要选择右上角的连接:
WMI的命名空间很多。。。但是找了半天也没找到哪里有个命名空间列表可以显示,最后找到一个XP时代的工具:
WMI Administrative Tools:http://www.microsoft.com/en-us/download/details.aspx?id=24045
这个工具貌似很老了,但是好像还能用,不过也不太好用了,其实上面的链接中有一个讲PowerShell的里面有用PowerShell来查看WMI命名空间的方法,可以使用那个东东。
就用这次要查询的进程信息为例吧,它在root的cimv2命名空间下,连接完后点中间有个查询按钮,打开查询窗口:
在这里面要输入WQL查询语句,其实跟SQL语法非常的类似,其实我可以说一致么。。。只是查的东西不一样。
这里就是从Win32_Process这个,貌似是个类,里面查到所有的进程信息。
这里就是查询结果了,里面列出了系统当前所有运行的进程信息,其实是Win32_Process类的所有对象
双击任意一个可以查看详情:
这就是这个对象的具体信息了,主要是在属性里面,可以通过“显示MOF”以文本形式查看:
这里面有进程名、进程ID信息,但其实还是没有要查询的进程用户信息,这时候回去点类,可以看到该对象的类的定义,就是Win32_Process的定义:
在这里面可以看到类的属性和方法,方法中的GetOwner就是这次要用到的方法,可以继续双击查看方法的详情:
还是看不到。。。点编辑输出参数:
嗯,终于看到了,方法有两个string的返回值分别是user和domain。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2018-03-28 汇编指令大全