标题: [系统相关] 批处理怎样分析系统日志? [打印本页]
作者: 咒夜坠 时间: 2012-6-6 15:26 标题: 批处理怎样分析系统日志?
本帖最后由 咒夜坠 于 2012-6-11 15:35 编辑
最近一个2003的系统里面老是报错
我想写一个批处理随时监视出现指定的报错就执行某一段批处理
但是我看了看没看明白日志分析应该怎么弄
怎么把日志文件读取出来都可以
读取出来为文本格式
想怎么提取就怎么提取嘿嘿
类型(系统)级别(错误)?事件ID是所有错误都列出来并且有描述
以文本形式导出
作者: powerbat 时间: 2012-6-6 15:45
错误事件是什么类型(系统、应用程序、安全、…)?什么级别(信息、警告、错误、…)?事件ID是多少?
开始→运行:eventvwr.msc 查看日志
作者: 咒夜坠 时间: 2012-6-11 16:19
本帖最后由 咒夜坠 于 2012-6-11 16:20 编辑
错误事件是什么类型(系统、应用程序、安全、…)?什么级别(信息、警告、错误、…)?事件ID是多少?
开 ...
powerbat 发表于 2012-6-6 15:45
可以按照类型为:系统 级别为:错误 ID为:1111(ID全部导出也可以)
作者: powerbat 时间: 2012-6-11 16:47
vbs监视出现指定的报错就执行某一段批处理- strComputer = "."
- Set ws = CreateObject("WScript.Shell")
- set wmi = GetObject("winmgmts:\\"&strComputer&"\root\cimv2")
- set Sink = WScript.CreateObject("WbemScripting.SWbemSink", "Sink_")
- wmi.ExecNotificationQueryAsync Sink, _
- "SELECT * FROM __InstanceCreationEvent WITHIN 1 where " _
- & "TargetInstance ISA 'Win32_NTLogEvent' and " _
- & "TargetInstance.Logfile = 'System' and " _
- & "TargetInstance.EventType = '1' "
- do : WScript.Sleep 1000 : loop
-
- sub Sink_OnObjectReady(objWbemObject, objAsyncContext)
- s = objWbemObject.TargetInstance.GetObjectText_()
- 'WScript.Echo s
- ws.Environment("process")("tab") = vbTab
- ws.Environment("process")("_log") = s
- ws.Run "a.bat" 'a.bat中可以访问 _log 环境变量
- end sub
复制代码
作者: powerbat 时间: 2012-6-11 20:05
要显示变量 _log 的值,因其含有回车符,故不可用echo %_log%,需用 set _log 或 echo !_log!。
作者: 咒夜坠 时间: 2012-6-14 10:00
本帖最后由 咒夜坠 于 2012-6-14 10:04 编辑
vbs监视出现指定的报错就执行某一段批处理
powerbat 发表于 2012-6-11 16:47- strComputer = "."
- Set ws = CreateObject("WScript.Shell")
- set wmi = GetObject("winmgmts:\\"&strComputer&"\root\cimv2")
- set Sink = WScript.CreateObject("WbemScripting.SWbemSink", "Sink_")
- wmi.ExecNotificationQueryAsync Sink, _
- "SELECT * FROM __InstanceCreationEvent WITHIN 1 where " _
- & "TargetInstance ISA 'Win32_NTLogEvent' and " _
- & "TargetInstance.Logfile = 'System' and " _
- & "TargetInstance.EventType = '1' "
- do : WScript.Sleep 1000 : loop
-
- sub Sink_OnObjectReady(objWbemObject, objAsyncContext)
- s = objWbemObject.TargetInstance.GetObjectText_()
- 'WScript.Echo s
- ws.Environment("process")("tab") = vbTab
- ws.Environment("process")("_log") = s
- ws.Run "a.bat" 'a.bat中可以访问 _log 环境变量
- end sub
复制代码
[img]
[/img]
不懂你这个脚本应该怎么使用。
作者: powerbat 时间: 2012-6-14 12:13
我也不懂操作系统是怎么实现的。
我只知道运行这个脚本后,如果系统日志中产生了类型为系统、级别为错误的事件,该脚本就会自动运行一个批处理a.bat。
这不正符合你的愿望吗:“我想写一个批处理随时监视出现指定的报错就执行某一段批处理”?
另外,貌似你回帖很费劲?要回复几楼直接点对应楼层左下角的“回复”就行了,如果想引用该楼的内容则点“引用”。
作者: 咒夜坠 时间: 2012-7-30 17:08
回复 7# powerbat
对于脚本我有点无能为力,有木有批处理写出来呢,
作者: bluewing009 时间: 2012-7-31 22:59
回复 8# 咒夜坠
话说我不是写过么....我记得都说过好几次了.
至少我是导出txt才处理的..
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |