VBS学习日记(十一) 初试WMI

Microsoft Windows Management Instrumentation(WMI)。中文名字叫 Windows 管理规范。从 Windows 2000 开始,WMI (Windows 管理规范)就内置于操作系统中,并且成为了 Windows 系统管理的重要组成部分。

WMI 能做什么?
WMI 不仅可以获取想要的计算机数据,而且还可以用于远程控制。远程控制计算机可是大家都喜欢的东西。很多远程监视控制类软件通常的做法是:在远程计算机上运行服务端后台程序,在本地计算机上运行一个客户器端控制程序,通过这二个程序的勾结来实现对计算机的远程控制。这种作法的缺点是十分明显的,当服务端程序关了,这种远程监控就无法实现了,因为没有内线了。而 WMI 实现的远程监视和控制完全不需要另外装什么服务端的东西,系统默认就将 WMI 服务给开了。具体说来,WMI 的本领如下:
1.获取本地和远程计算机的硬件软件信息。
2.监视本地和远程计算机的软件和服务等运行状况。
3.控制本地和远程计算机的软件和服务运行。
4.高级应用。


如何访问 WMI?
当我们知道 WMI 的某些本领后,我们已经很想知道如何认识他并利用他了。利用 WMI 有许多途径,简单说来有三种了:
1.通过微软给我们提供的各种工具来实现普通查询和操作。主要包括命令提示符下面的 WMI C,还有就是微软给我们提供的 WMI TOOL,大家可以到微软的网站上免费下载。
2.通过自己编写脚本来实现更灵活操作。要想真正灵活实用,对 WSH 脚本的熟悉是必须的,当然如果你不熟悉也没有关系,稍后我会给大家详细解释的。
3.   通过编写我们自己的程序来访问并操作它。什么语言都行。如果用.NET 类程序要简单些了,如果用 VC 等要复杂些了。
4.还有个访问它的方法,就是到它的一个巢穴。在 C:\WINDOWS\system32\wbem 目录中的东西都和它有密切联系,有日志和各种工具,在里面你可以找到很多答案的。不过这些东西一般都不适合我们新手玩了,感觉有点吓人。


我们今天的任务?
今天我们的任务有五个:
任务一:利用 WMIC 列出远程计算机上的所有进程。
任务二:利用 WMIC 关闭本地进程。
任务三:通过 WMIC 把远程主机的进程信息保存在一个网页中
任务四:利用脚本实时监视对方进程
任务五:利用脚本给对方开放共享



第一部分:利用 WMIC 来认识 WMI
WMIC 是 Windows Management Instrumentation Commandline 的简称,WMIC 扩展 WMI,提供了从命令行接口和批命令脚本执行系统管理的支持。为 WMI 名称空间提供了一个强大的、友好的命令行接口。有了 WMIC,WMI 就显的平易近人了。

执行“WMIC”命令将启动 WMIC 命令行环境。第一次执行 WMIC 命令时, Windows 首先要安装WMIC,然后显示出 WMIC 的命令行提示符。在 WMIC 命令行提示符上,命令将以交互的方式执行。如果你不知道该如何和它交互,请敲个“/? ”,细细看完全部的说明,你就知道了。WMI C也可以按照非交互的模式运行。如果要执行某个单步的任务,或者运行批命令中的一系列 WMIC命令,非交互模式就很有用。要使用非交互模式,只要在同一个命令行上启动 WMIC 并输入要执行的命令就可以了。执行“wmic”命令启动WMIC命令行环境。这个命令可以在XP或.NETServer的标准命令行解释器(cmd.exe)、Telnet会话或“运行”对话框中执行。这些启动方法可以在本地使用,也可以通过.NET Server终端服务会话使用。


1.任务一:利用 WMIC 列出远程计算机上的所有进程
这是一个实现起来很简单的任务,和你用一个 DOS 命令一样简单,因为我们要循序渐进嘛,所以安排了这么一个热身任务。在命令提示符下敲入下面的命令,我们将看到。
WMIC /node:192.168.1.2 /user:net process

解说:
1)上面命令中的 NODE 和 USER 是全局开关。如果你不愿意另外输一次密码,你也可以用
PASSWORD 开关,后面写上密码就可以了(WMIC /node:192.168.1.2 /user:net /password:passwo rd
process)。千万要注意,这里的用户名和密码都必须是管理员级别的,其它的无效。 WMIC 提供
了大量的全局开关、别名、动词、命令和丰富的命令行帮助增强用户接口。全局开关是用来配
置整个 WMIC 会话的选项。
2)Process 是个别名,执行了一个 Win32_process 类的 WQL 查询,至于说是 WMI 的类是什么
东西,感兴趣的就自己找资料多多了解,如果你很懒的话,就等我有时间给你开课讲解。别名
是用户和 WMI 名称空间一个简化语法的中间层。当你指定一个别名时,动词(Verb)表示要执
行的动作。
3)如果你愿意,你可以在该后面加上个动词等,比如 LIST FULL 等(如 : WMIC /node:192.1 68.1.2
/user:net /password:password process),这样你就看得更清楚了。
小提示:安装了 WMIC 的机器可以连接到任何一台安装了 WMI 的机器,被连接的机器不需要
安装 WMIC。

2.任务二:利用 WMIC 关闭本地进程
执行下面的命令将关闭正在运行的 QQ。我比较胆小,所以不敢关别人的 QQ,只能拿我的 QQ试验了,如果你的智商还够用的话,胆子比较大的话,你很快就会去关别人的了。

WMIC
process where name=”qq.exe” call terminate
解说:
1)这次我们是用交互式的方法来执行任务,具体界面我就不多说了,图上画的比我说的好多了 。
2)Call 也是个动词,这个动词可是厉害了,控制类的没有不用它的,它就是可以调用各种类的
各种方法的大将。这里我们调用了 terminate 方法。从字面上你就可以看出是恶狠狠的。
3)Where 能够让你查询和筛选。在超级多的实例中找到你想要的。实例就是指每个类的具体实现了。前面的例子中看到的各个进程都分别算是 WIN32_PROCESS 中的一个实例。


3.任务三:通过 WMIC 把远程主机的进程信息保存在一个网页中
这个任务和任务一中的大致相同,是任务一的加强。在任务一中信息以文本的形式显示出来了。其实除了文本形式的输出之外, WMIC 还能够以其他形式返回命令执行结果,例如 XML、 HT ML或者 CSV(逗号分隔的文本文件)。我们可以敲入下面的命令:
wmic /output:C:\1.html /node:192.168.1.2 /user:net process list full /format:hform.xsl
输入密码 :******
解释:
1)全局开关 OUTPUT 指明将这些信息保存在什么地方。
2 )全局开关 FORMAT 指明了用什么样的格式,至于说有那些格式可以用,你可以参看
C:\WINDOWS\system32\wbem 目录中的*.xsl 文件,你甚至不用管它们从哪里来的,用就是了。挨着看看,一定可以找到你喜欢的。




  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值