首页 > V.B.T > eventtriggers与eventcreate详解

eventtriggers与eventcreate详解

2008年9月14日 发表评论 阅读评论

来源:http://bbs.verybat.org
作者:伤脑筋[v.b.t]  转载请声明。

前言废话^_^  
    最近咱们非常批处理论坛(bbs.verybat.org)刚换域名和空间,许多老VB们还不知道新域名,人气不如以前了!为了加强人气,我看还得从多发原创东东做起,希望各位喜欢VB的朋友们多多发表一些原创作品!我先带头!

    说完废话说正题,这几天看到论坛里有些讨论eventtriggers与eventcreate这两个操控系统事件的帖子,自己到百度搜索了,相关介绍不是很详细,主要是用法没说清楚。于是便有了写这两命令详细用法的帖子!    

    eventtriggers与eventcreate两命令的系统帮助这里我不列出来,需要的朋友自己看系统帮助,本 文以实际例子来说明他们的用法!

    eventtriggers与eventcreate是2K以上的系统才有的命令,其中eventtriggers命令在XP和2003系统里又有略微的不同,这里先不讲,我先写个例子如下

BAT或者手工输入任意选择执行!

<br />Eventtriggers /create /tr "bbs.verybat.org" /l * /eid 1 /tk "cmd /k"<br />rem  监视任意类型事件ID为1的任意事件消息,如果有这个ID为1的消息则执行cmd /k命令。<br />eventcreate /t error /id 1 /l application /so "bbs.verybat.org"  /d "非常批处理欢迎各位!"<br />rem 在事件查看器里创建一个类型为”应用程序“,ID为1,来源为bbs.verybat.org的错误消息.

    执行完以上几条命令后如果你的系统为2003系统那么在你输入完你当前登陆账号的密码后,就会打开一个新的CMD窗口了。如果你的是XP系统,任何窗口也不会打开,但是请你手动打开你的进程查看器,你会发现进程里多了一个运行用户为”SYSTEM”进程名为CMD.EXE进程,没错这就是我们的监视命令打开的。这就是Eventtriggers命令在XP与2003系统的不同之处:XP以SYSTEM权限执行任务命令,2003则以当前用户权限执行任务命令。    

     通过上面的例子我们已经知道 eventtriggers与eventcreate基本的使用方法以及eventtriggers命令在2K系统里的区别!现在我们再来理清一些概念的问题!

     为什么在执行例1后系统会打开一个新的CMD呢?我们先把eventtriggers是起什么作用的命令来说一下!eventtriggers命令是一个新建事件触发器的命令,也就是当它监视的某个条件成立时,就自动执行某个命令!比如监视到QQ.EXE启动时,就执行一个相应的命令。说到这里大家觉得这个命令居然可以监视系统,太牛了。。。!不幸的是,此命令监视条件不是万能的,它的监视条件只能是事件查看器(eventvwr.msc)里的某几个条件!那就是几种事件日志,有效类型包括:Application、System、Security、DNS server、Log 和 Directory 日志。可以使用通配符 (*)。 事件类型,有效值包括:ERROR、INFORMATION、WARNING、SUCCESSAUDIT 和 FAILUREAUDIT。事件的ID号。事件的来源。大家如果不懂打开系统的事件查看器工具(eventvwr.msc)一看便明白了!
     eventtriggers是干嘛的大家了解了,那eventcreate呢?例1中为什么要用此命令?eventcreate命令是一个可以让我们手工在系统查看器里创建自定义日志的工具(eventtriggers是监视事件的)。例1中之所以使用此命令是因为我们使用的eventtriggers命令是监视事件查看器里任意类型事件产生事件ID为1的事件时打开一个CMD(可以用net helpmsg 1来看具体事件ID号的意思),但是系统什么时候会在事件查看器例写一个事件ID号为1的日志呢?我不知道。。。。所以我就手工创建一个事件ID为1的假日志了!这样就满足了eventtriggers监视条件(出现一个ID号为1的事件日志),所以他就执行满足条件时的命令,打开一个CMD窗体。

    eventtriggers与eventcreate是什么因该理解的差不多了!下面我们继续距离来实际操控他们!

Eventtriggers /create /tr "bbs.verybat.org" /l APPLICATION /so "bbs.verybat.org" /tk "cmd /k"    <br />rem 创建一个任务名为"bbs.verybat.org" 的监视事件在事件查看器里的“应用程序”日志,当其出现ID 号为2的日志时执行CMD /K命令!<br /><br />eventcreate /t error /id 2 /l application /so "bbs.verybat.org"  /d "非常批处理欢迎各位!"<br />rem 在事件查看器里的“应用程序”日志里创建一个ID为2的错误类型日志,日志的来源为"bbs.verybat.org" ,日志的描述为"非常批处理欢迎各位!"<br />rem 因为Eventtriggers 监视的条件为“应用程序”日志里来源为"bbs.verybat.org" 的日志,我们只是做试验所以用 eventcreate 手工创建促发条件。

<br />Eventtriggers /create /tr "bbs.verybat.org" /l APPLICATION /t  ERROR  /tk "cmd /k" <br />rem 创建一个任务名为"bbs.verybat.org" 的监视事件在事件查看器里的“应用程序”日志,当其事件类型为错误类型时执行CMD /K命令!<br />eventcreate /t error /id 3 /l application /so "bbs.verybat.org"  /d "非常批处理欢迎各位!"<br />rem 在事件查看器里的“应用程序”日志里创建一个ID为3的错误类型日志,日志的来源为"bbs.verybat.org" ,日志的描述为"非常批处理欢迎各位!"<br />rem 因为Eventtriggers 监视的条件为“应用程序”日志里的任意错误日志,我们只是做试验所以用 eventcreate 手工创建促发条件。

上面3个例子基本上把Eventtriggers 与eventcreate的常用用法说了一通了。

注意
Eventtriggers 的任务名必须唯一,所以如果创建监视任务出现任务名重名改一下/TR参数就可以了
Eventtriggers 查看当前任务用Eventtriggers  /query ,删除任务Eventtriggers /delete /tid ID号 *号删除全部任务
Eventtriggers 重启后任务会消失

技巧
Eventtriggers 命令由于在XP默认以SYSTEM权限执行触发条件后的命令,所以可以用它来干掉TASKMGR.EXE无法搞定的进程。包括LSASS.EXE和ntsd.exe -c -p 一个样!

<br />Eventtriggers /create /tr "bbs.verybat.org" /l APPLICATION /t  ERROR  /tk "taskkill -f -im lsass.exe" <br />eventcreate /t error /id 3 /l application /so "bbs.verybat.org"  /d "非常批处理欢迎各位!"

eventcreate可以用来强行塞满日志文件,导致系统无法正确记录事件.

eventcreate /t error /id 1 /l application /so "bbs.verybat.org"  /d "非常批处理欢迎各位!"<br />%0

好了本文基本上完了,如果错误请PM告诉我,转载请著名bbs.verybat.org BY 伤脑筋!

转载请注明:woyigui's blog [http://www.woyigui.cn/]
本文标题:eventtriggers与eventcreate详解
本文地址:http://www.woyigui.cn/2008/09/14/eventtriggers-eventcreate-Detailed-Explanation/

分类: V.B.T 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
*