监控windows的事件

我用了一个下午完成了对于Windows的事件的监控,这个程序可以套用任何已知事件id的监控上,例如程序监控的是:318的事件。

然后调用我自己写的控制台程序,发送短信息:monitor

Const ForAppending = 8
i=0
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("d:\powershell\monitor.txt")
Set objTextFile = objFSO.OpenTextFile _
    ("d:\powershell\monitor.txt", ForAppending, True)

Const CONVERT_TO_LOCAL_TIME = True
Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime")
Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime")

DateToCheck = Date
dtmEndDate.SetVarDate Date, True
dtmStartDate.SetVarDate DateToCheck, CONVERT_TO_LOCAL_TIME
dtmEndDate.SetVarDate DateToCheck + 1, CONVERT_TO_LOCAL_TIME
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where EventCode = '318' and TimeWritten >='" & DateToCheck & "'")
    objTextFile.WriteLine( "count:  " & i)
For each objEvent in colEvents
    i=i+1
    objTextFile.WriteLine( objEvent.Category)
    objTextFile.WriteLine( "Computername: " & objEvent.ComputerName)
    objTextFile.WriteLine( "Event code: " & objEvent.EventCode)
    objTextFile.WriteLine( "message:  " & objEvent.Message)
    objTextFile.WriteLine( "event type:  " & objEvent.Type)
    objTextFile.WriteLine( "TimeWritten:  " & objEvent.TimeWritten)
    objTextFile.WriteLine( "count:  " & i)
Next
set ws=wscript.createobject("wscript.shell")
if(i>0) then
  ws.run "cmd /c monitor.exe B 外呼系统的Com+错误请及时处理"
end if

objTextFile.Close

转载于:https://www.cnblogs.com/GoodLzp/archive/2009/05/13/1456211.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值