监视 Windows 事件日志中的事件并执行 VBS 脚本

监视 Windows 事件日志中的事件并执行 VBS 脚本

我需要一种免费的方法来监控 Windows 事件日志,并且当记录特定事件时,我需要启动 VBS 脚本。有没有可以做到这一点的工具?

答案1

如果你的服务器上安装了 PowerShell 2.0,你可以使用它来自己动手。看看获取事件日志发送邮件消息cmdlet。复习一下PowerShell 如何处理逻辑循环趁你还在做这件事的时候。

从那里,您可以轻松地使用 cscript.exe 调用您想要的任何脚本

如果你不想制作自己的日志解析脚本(这并不难,保证!)那么请查看事件报告器这是一个付费工具。

答案2

这可能有点超出你的预期,但 SCOM 可以做这种事 http://www.microsoft.com/systemcenter/en/us/operations-manager.aspx

它能够执行 VB 脚本和 Powershell,但使用 Powershell 时必须使用创作控制台,因为标准 SCOM 控制台不支持 Powershell。 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14989

SCOM 是一个非常好的系统,我们在工作中使用它,因此我们将它用于这种类型的事情,但正如所说的那样,它可能超出了你想要的范围。

答案3

如果您已经会使用 vbscript,则可以扩展现有脚本并直接通过 WMI 监视事件日志。以下是我使用的:

Set objWMIService = GetObject("winmgmts:" & _
    {impersonationLevel=impersonate,(Security)}!\\.\")

Set colMonitoredEvents = objWMIService.ExecNotificationQuery _     
("Select * from __instancecreationevent where TargetInstance isa 'Win32_NTLogEvent'") 
Do 
  Set objLatestEvent = colMonitoredEvents.NextEvent 
  strTimeWritten = objLatestEvent.TargetInstance.TimeWritten
  strSource  = objLatestEvent.TargetInstance.SourceName
  strType  = objLatestEvent.TargetInstance.Type
' etc
loop

希望这可以帮助。

相关内容