找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27858|回复: 8

[系统相关] 批处理怎样分析系统日志?

[复制链接]
发表于 2012-6-6 15:26:23 | 显示全部楼层 |阅读模式
本帖最后由 咒夜坠 于 2012-6-11 15:35 编辑

最近一个2003的系统里面老是报错
我想写一个批处理随时监视出现指定的报错就执行某一段批处理
但是我看了看没看明白日志分析应该怎么弄
怎么把日志文件读取出来都可以
读取出来为文本格式
想怎么提取就怎么提取嘿嘿


类型(系统)级别(错误)?事件ID是所有错误都列出来并且有描述
以文本形式导出
发表于 2012-6-6 15:45:31 | 显示全部楼层
错误事件是什么类型(系统、应用程序、安全、…)?什么级别(信息、警告、错误、…)?事件ID是多少?
开始→运行:eventvwr.msc 查看日志
 楼主| 发表于 2012-6-11 16:19:31 | 显示全部楼层
本帖最后由 咒夜坠 于 2012-6-11 16:20 编辑
错误事件是什么类型(系统、应用程序、安全、…)?什么级别(信息、警告、错误、…)?事件ID是多少?
开 ...
powerbat 发表于 2012-6-6 15:45



    可以按照类型为:系统     级别为:错误  ID为:1111(ID全部导出也可以)
发表于 2012-6-11 16:47:40 | 显示全部楼层
vbs监视出现指定的报错就执行某一段批处理
  1. strComputer = "."
  2. Set ws = CreateObject("WScript.Shell")
  3. set wmi = GetObject("winmgmts:\"&strComputer&"\root\cimv2")
  4. set Sink = WScript.CreateObject("WbemScripting.SWbemSink", "Sink_")
  5. wmi.ExecNotificationQueryAsync Sink, _
  6.     "SELECT * FROM __InstanceCreationEvent WITHIN 1 where " _
  7.     & "TargetInstance ISA 'Win32_NTLogEvent' and " _
  8.     & "TargetInstance.Logfile = 'System' and " _
  9.     & "TargetInstance.EventType = '1' "
  10. do : WScript.Sleep 1000 : loop

  11. sub Sink_OnObjectReady(objWbemObject, objAsyncContext)
  12.     s = objWbemObject.TargetInstance.GetObjectText_()
  13.     'WScript.Echo s
  14.     ws.Environment("process")("tab") = vbTab
  15.     ws.Environment("process")("_log") = s
  16.     ws.Run "a.bat" 'a.bat中可以访问 _log 环境变量
  17. end sub
复制代码
发表于 2012-6-11 20:05:12 | 显示全部楼层
要显示变量 _log 的值,因其含有回车符,故不可用echo %_log%,需用 set _log 或 echo !_log!。
 楼主| 发表于 2012-6-14 10:00:30 | 显示全部楼层
本帖最后由 咒夜坠 于 2012-6-14 10:04 编辑
vbs监视出现指定的报错就执行某一段批处理
powerbat 发表于 2012-6-11 16:47
  1. strComputer = "."
  2. Set ws = CreateObject("WScript.Shell")
  3. set wmi = GetObject("winmgmts:\"&strComputer&"\root\cimv2")
  4. set Sink = WScript.CreateObject("WbemScripting.SWbemSink", "Sink_")
  5. wmi.ExecNotificationQueryAsync Sink, _
  6.     "SELECT * FROM __InstanceCreationEvent WITHIN 1 where " _
  7.     & "TargetInstance ISA 'Win32_NTLogEvent' and " _
  8.     & "TargetInstance.Logfile = 'System' and " _
  9.     & "TargetInstance.EventType = '1' "
  10. do : WScript.Sleep 1000 : loop

  11. sub Sink_OnObjectReady(objWbemObject, objAsyncContext)
  12.     s = objWbemObject.TargetInstance.GetObjectText_()
  13.     'WScript.Echo s
  14.     ws.Environment("process")("tab") = vbTab
  15.     ws.Environment("process")("_log") = s
  16.     ws.Run "a.bat" 'a.bat中可以访问 _log 环境变量
  17. end sub
复制代码
[img]
[/img]



    不懂你这个脚本应该怎么使用。
发表于 2012-6-14 12:13:10 | 显示全部楼层
我也不懂操作系统是怎么实现的。
我只知道运行这个脚本后,如果系统日志中产生了类型为系统、级别为错误的事件,该脚本就会自动运行一个批处理a.bat。
这不正符合你的愿望吗:“我想写一个批处理随时监视出现指定的报错就执行某一段批处理”?

另外,貌似你回帖很费劲?要回复几楼直接点对应楼层左下角的“回复”就行了,如果想引用该楼的内容则点“引用”。
 楼主| 发表于 2012-7-30 17:08:48 | 显示全部楼层
回复 7# powerbat


    对于脚本我有点无能为力,有木有批处理写出来呢,
发表于 2012-7-31 22:59:54 | 显示全部楼层
回复 8# 咒夜坠


   话说我不是写过么....我记得都说过好几次了.
至少我是导出txt才处理的..
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 10:03 , Processed in 0.021337 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表