vbscript运算符有哪几种(有关vbscript运算符知识解读)(13/15)

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《vbscript运算符有哪几种(有关vbscript运算符知识解读)(13/15)》的相关信息,《vbscript运算符有哪几种(有关vbscript运算符知识解读)(13/15)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《vbscript运算符有哪几种(有关vbscript运算符知识解读)(13/15)》的详细说明。
笨笨网美国主机,w ww.2 b p .n e t

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

在任务一和任务三中我们都是在查看对方的进程,出来的结果对我们意义不是很大,在这个任务中我们要从现在开始每当他开一个任务我们就察觉到,并把它记录下来。我们要在他开进程的那一秒开始报告并记录,我们要清楚他所开的程序所在的位置,我们要比他更清楚地知道这些信息。

现在我们就按照前面提到的三个步骤来实现任务。

首先,我们连接到对方的WMI。在这里我们首先调用 VBScript 的中的Createobject()来得到一个对象,然后利用这个特殊的对象的方法来连接到远程的计算机上。这个特殊的对象就是

wbemscripting.swbemlocator。

set olct=createobject(“wbemscripting.swbemlocator”)set wbemServices=olct.connectserver(strComputer,”rootcimv2″,strUser,strPwd)

注意其中的strComputer就是你所要连接的计算机的名称或者IP地址,strUser,strPwd当然就是用户名和密码了,我们说过这个用户必须是具有管理员权限的才可以。rootcimv2是WMI的命名空间,关于WMI的命名空间,大家可以到”计算机管理WMI控件”中看到,这里面的学问就大了,得慢慢琢磨,为了我们的任务快速实现,我就不多解释了。用这种方法连接到WMI,返回一个对SWbemServices对象的引用,一旦有一个对 SWbemServices对象的引用。我们就可以进行第二个步骤了。

在第二个步骤中,我们将得到WMI 托管资源的实例,我们利用WbemServices中的一个方法ExecNotificationQuery可以查询我们所要的类,进而可以得到该类中实例。

Set colMonitoredProcesses = wbemServices. _ ExecNotificationQuery(“select * from __instancecreationevent ” _ & ” within 1 where TargetInstance isa ‘Win32_Process'”)

注意这里有个类似于SQL语言的查询语言,这里叫做WQL语言,懂SQL的一看就明白了,不懂的就在网上找找它的资料,满天都是。得到的colMonitoredProcesses是所查询的类的实例的集合。有了这些我们的第三个步骤就可以开始了。

在第三个步骤中,我们将显示出得到的实例中的属性。刚才我们得到的是实例的集合,在这里我们通过

colMonitoredProcesses.NextEvent来获取每一个具体的实例,得到每一个具体的实例后,我们就可以显示出他们的属性,也就是我们想看的东西了。这里我们显示了CommandLine的属性值。

到现在你是否有些迷惑了,因为你还不知道到底WMI里面有那些类,具体类又有哪些属性,呵呵,没有关系的,用一些工具可以很轻松的得到这些信息。比如系统自带的wbemtest,在运行中敲入这个程序名,你就可以看到这些了,它也遵循连接、查询、枚举这三个步骤。自己慢慢玩吧,很快你就会发现WMI太大了,单是命名空间就有10多个,然后单是我们常用的空间rootCIMV2里面就有近1000个类,每个类里面又有好多的属性,有些类还有好多方法。哈哈,头晕了吧?没关系,其实你只需要知道其中的一些就好了。

看到这些估计你的头已经很大了,但是恭喜你,我们的这个任务已经完成了,是的,就是这么简单,下面我将完整代码奉献出来。

Set colArgs = WScript.ArgumentsIf WScript.arguments.count < 3 thenWScript.Echo "USAGE:" & vbCrLf & " Monitor Computer User Password files"WScript.quitEnd IfstrComputer = wscript.arguments(0)strUser = wscript.arguments(1)strPwd = wscript.arguments(2)strFile = wscript.arguments(3)set olct=createobject("wbemscripting.swbemlocator")set wbemServices=olct.connectserver(strComputer,"rootcimv2",strUser,strPwd)Set colMonitoredProcesses = wbemServices. _ ExecNotificationQuery("select * from __instancecreationevent " _ & " within 1 where TargetInstance isa 'Win32_Process'")i = 0Do While i = 0Set objLatestProcess = colMonitoredProcesses.NextEventWscript.Echo now & " " & objLatestProcess.TargetInstance.CommandLineSet objFS = CreateObject("Scripting.FileSystemObject")Set objNewFile = objFS.OpenTextFile(strFile,8,true)objNewFile.WriteLine Now() & " " & objLatestProcess.TargetInstance.CommandLineobjNewFile.CloseLoop

到这个程序的核心了吧?相信你已经懂了其中的很多,剩余的部分代码我稍后解释。我们先来感性认识一下,先看它该怎么用吧!把上面的代码拷贝到记事本中,然后保存为monitor.vbs的文件,然后在命令提示符下输入:

CSCRIPT monitor.vbs

回车,你就会看到帮助,下面举例说明这个脚本的具体用法:

CSCRIPT monitor.vbs 192.168.1.2 user password C:1.txt

在命令提示符下敲入上面的命令就OK了,每当对方开一个程序的时候,你就可以看到时间,程序路径和程序名。如果你没有时间去看这些信息,你还可以等有时间的时候到C:1.txt看到这些信息。

笨笨网美国主机,w ww.2 b p .n e t
提醒:《vbscript运算符有哪几种(有关vbscript运算符知识解读)(13/15)》最后刷新时间 2025-03-21 11:13:36,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《vbscript运算符有哪几种(有关vbscript运算符知识解读)(13/15)》该内容的真实性请自行鉴别。