Vbs脚本编程简明教程之十七-- --1

简介:

Vbs脚本编程简明教程补充读物-初窥WMI<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 
今天,我将给大家介绍个朋友,它就是 Microsoft Windows Management Instrumentation (WMI) 。中文名字叫 Windows 管理规范。从 Windows 2000 开始, WMI Windows  管理规范)就内置于操作系统中,并且成为了 Windows 系统管理的重要组成部分。所以大家很容易就能见到它的,因为我们至少也应该是个 Windows 2000 的使用者了。下面我将详细介绍它的每个细节,让你从不认识它到喜欢上它。

WMI 能做什么?

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

1 .获取本地和远程计算机的硬件软件信息。

2 .监视本地和远程计算机的软件和服务等运行状况。

3 .控制本地和远程计算机的软件和服务运行。

4 .高级应用。

如何访问 WMI

当我们知道 WMI 的某些本领后,我们已经很想知道如何认识他并利用他了。利用 WMI 有许多途径,简单说来有三种了:

1 .通过微软给我们提供的各种工具来实现普通查询和操作。主要包括命令提示符下面的 WMIC ,还有就是微软给我们提供的 WMI TOOL ,大家可以到微软的网站上免费下载,当然我也可以给大家免费提供。

2 .通过自己编写脚本来实现更灵活操作。要想真正灵活实用,对 WSH 脚本的熟悉是必须的,当然如果你不熟悉也没有关系,稍后我会给大家详细解释的。

3.  通过编写我们自己的程序来访问并操作它。什么语言都行。如果用 .NET 类程序要简单些了,如果用 VC 等要复杂些了,起码我是这么认为的。

4 .还有个访问它的方法,就是到它的一个巢穴。在 C:\WINDOWS\system32\wbem 目录中的东西都和它有密切联系,有日志和各种工具,在里面你可以找到很多答案的。不过这些东西一般都不适合我们新手玩了,感觉有点吓人。

我们今天的任务?

今天我们的任务有五个:

任务一:利用 WMIC 列出远程计算机上的所有进程。

任务二:利用 WMIC 关闭本地进程。

任务三:通过 WMIC 把远程主机的进程信息保存在一个网页中

任务四:利用脚本实时监视对方进程

任务五:利用脚本给对方开放共享

查看和监视进程,还要把进程给杀掉,最后还要给对方开个共享,我们这位朋友快把坏事做尽了。明白了我们的任务,我们就可以上路了。这次我们将主要借助 WMIC 和脚本来实现我们的任务,所以我们将主要分为两大部分来讲解。在五个任务的实战中我们将更加深入地理解它,没有基础没有关系,我将尽力去解释所有的所谓的基础,让大家能很轻松地和这位朋友交流。

第一部分:利用 WMIC 来认识 WMI

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

执行“ WMIC ”命令将启动 WMIC 命令行环境。第一次执行 WMIC 命令时, Windows 首先要安装 WMIC ,然后显示出 WMIC 的命令行提示符。在 WMIC 命令行提示符上,命令将以交互的方式执行。如果你不知道该如何和它交互,请敲个“ /? ”,细细看完全部的说明,你就知道了。 WMIC 也可以按照非交互的模式运行。如果要执行某个单步的任务,或者运行批命令中的一系列 WMIC 命令,非交互模式就很有用。要使用非交互模式,只要在同一个命令行上启动 WMIC 并输入要执行的命令就可以了。

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:password process )。千万要注意,这里的用户名和密码都必须是管理员级别的,其它的无效。 WMIC 提供了大量的全局开关、别名、动词、命令和丰富的命令行帮助增强用户接口。全局开关是用来配置整个 WMIC 会话的选项。

2 Process 是个别名,执行了一个 Win32_process 类的 WQL 查询,至于说是 WMI 的类是什么东西,感兴趣的就自己找资料多多了解,如果你很懒的话,就等我有时间给你开课讲解。别名是用户和 WMI 名称空间一个简化语法的中间层。当你指定一个别名时,动词( Verb )表示要执行的动作。

3 )如果你愿意,你可以在该后面加上个动词等,比如  LIST FULL 等(如: WMIC /node:192.168.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 HTML 或者 CSV (逗号分隔的文本文件),如图 3 所示。我们可以敲入下面的命令:

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 文件,你甚至不用管它们从哪里来的,用就是了。挨着看看,一定可以找到你喜欢的。









本文转自 chengchow 51CTO博客,原文链接:http://blog.51cto.com/chengchow/886999,如需转载请自行联系原作者
目录
相关文章
|
Web App开发 前端开发 JavaScript
vbs学习,书籍,看书笔记(5) 客户端web脚本 .Power shell 使用 脚本文件的类型2
vbs学习,书籍,看书笔记(5) 客户端web脚本 .Power shell 使用 脚本文件的类型2
vbs学习,书籍,看书笔记(5) 客户端web脚本 .Power shell 使用 脚本文件的类型2
|
存储 Java Shell
Shell最最基础教程【案例讲解】【值得收藏系列】
Shell最最基础教程【案例讲解】【值得收藏系列】
Shell最最基础教程【案例讲解】【值得收藏系列】
|
XML 数据采集 关系型数据库
《懒人Shell脚本》之五——一键修改分布式系统配置文件
0. 背景 分布式部署程序的时候,近20台机器部署了同样的环境进行数据采集。 当更换程序时,能否修改好一套,其他机器只需要一步scp,一步执行脚本。 一键修改配置,正是本文的目的。
222 0
|
Shell
VBS脚本合集(自制脚本)
一、视频搜索器选择: Selectitem() '######################################### Function  Selectitem() 'Set VedioSearch=WScript.
823 0
|
SQL XML 数据安全/隐私保护
|
Windows 数据格式 XML