我需要一个免费的方式来监视Windows事件日志,当某个事件被logging时,我需要启动一个VBS脚本。 有没有一种工具可以做到这一点?
如果您的服务器上安装了PowerShell 2.0,则可以自行推出。 看看Get-EventLog和Send-MailMessage cmdlet。 了解一下PowerShell如何处理逻辑循环 。
从那里,你可以用cscript.exe轻松地调用你想要的任何脚本
如果你不想制作自己的日志parsing脚本(这不难,保证!)然后看看EventReporter这是一个付费的工具。
这可能是为了超越你所追求的,但SCOM可以做这种types的东西http://www.microsoft.com/systemcenter/en/us/operations-manager.aspx
它具有执行VB脚本的能力,也是Powershell的唯一function,您必须使用Authoring Console,因为标准的SCOM控制台不支持Powershell。 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14989
SCOM是一个相当不错的系统,我们在工作中使用它,所以我们使用它来处理这种types的事情,但是正如前面所说的那样,它可能对你想要的东西有很大的帮助。
如果您已经说过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
希望这可以帮助。