《WINDOWS系统日志导出工具的使用》由会员分享,可在线阅读,更多相关《WINDOWS系统日志导出工具的使用(4页珍藏版)》请在金锄头文库上搜索。
1、WINDOWS系统日志导出工具的使用2007-07-08 09:22利用脚本编程格式化输出转存系统日志dumpel.exe日志对于操作系统来说其重要性时不言而喻的,一个优秀的nt网络的管理员,往往会定期的备 份系统日志,以备查询服务器运行状况及系统安全状况。如果利用系统日志的另存为”功能手工备份,则比较麻烦,而且输出的日志难以实现格式化输出, 微软的resource kit工具包中有一个免费的查看本地或远程日志的小工具dumpel.exe,利用 它可以把日志存为文本文件以备后需,在这里我利用windows脚本编程来实现定期备份并格式 化输出html文件,如果条件许可,可以直接转储到打印机上打印
2、。下面是具体的实现方法。windows脚本编程包括vbscript和javascript,这也是网页特效编程中常见的语言,实际上利 用vbs和js强大的系统和网络管理功能,可以使系统管理员简化很多工作的。vbs和js本身不提供察看日志的方法,但wscript.shell具有run方法,即可以运行windows 命令,所以我们要借助上面说的dumpel工具,首先说一下它的使用方法,dumpel -f file -s server -l log -m source -e n1 n2 n3. -r -t -d x常用的参数:-f file即为日志的存储位置和文件名-s server在查看远程日志时使
3、用(必须有admin权限)-m过滤日志条件-l指定日志,如系统日志(system),应用程序(application),安全日志(security),域控制器还有dns,文件复制等例如,要把server01上安全日志保存为security.log,命令:dumpel -f security.log -s server01 -l security然后即产生一个security.log的文本文档,为了得到格式化输出的日志文件,我们采取下面的 编程方法:假设我们要查看日志的服务器为server,存储位置为、databackup,文件名为计算 机名+日期+日志类型.html并通过计划任务,一天产生一个
4、html文档,原代码如下:logreport.jsmonth = new Array(12)month1 = 一月month2 = 二月month3 = 三月month4 = 四月”month5 = 五月month6 = ”六月,,month7 = 七月month8 = 八月,,month9 = 九月,,month10 = 十月month11 = -一月month12 = 十二月days=new Array(7)days1 = 星期日days2 = 星期一days3 = 星期二days4 = 星期三days5 = 星期四days6 = 星期五days7 = 星期六function theDat
5、a(aDate)var currentday=daysaDate.getDay() + 1var currentmonth = monthaDate.getMonth() + 1return currentday+,+currentmonth+,+aDate.getDate() var result;result=0var ws=WScript.CreateObject(WScript.shell)c=ws.expandenvironmentstrings(%computername%) netdrive=datebackuptoday=new Date()var logday=today.g
6、etDate()var logmonth=today.getMonth() logarray=new Array(2)logarray0 = systemlogarray1 = applicationlogarray2 = securityfor (l in logarray) ws.run(dumpel.exe /s server /l +logarrayl+ /f +netdrive+c+-+ logmonth+- + logday()+- + logarrayl+.log /d 1,0,TRUE)ForReading = 1ForAppending = 8for (l in logarr
7、ay) var fs=new ActiveXObject(scripting.FileSystemObject)var f=fs.opentextfile(+netdrive+c+-+logmonth+-+logday()+-+logarrayl+.log”,ForReading,TRUE)fContents=f.ReadAll()f.Close()var f=fs.OpenTextFile(+netdrive+c+- + logmonth+- + logday()+- + logarrayl+.htm,ForAppending,TRUE)fHeader=Daily fHeader+ = lo
8、garraylfHeader+=cfHeader+ = fHeader+ = fHeader+ = dailyfHeader+ = logarraylfHeader+ = log report for fHeader+=cfHeader+ = fHeader+ = fHeader+=theData(today)fHeader+ = fHeader+ = f.Write(fHeader)f.Write(fContents)fFooter=fWrite(fFooter)f.Close()将以上代码用记事本打开,并把后缀名存为js,并与dumpel.exe放在同一目录下,双击即可运 行,运行后自动建立计算机名+日期+日志类型.html要使此脚本程序定期的进行日志备份,可以利用windows图形化的计划任务或是“at命令。利用图形化的计划任务使脚本自动执行非常简单,这里不再详细介绍,用at命令同样可以达到 目的。例如需要在每天的0: 00执行此脚本来备份系统日志,则在命令提示行下输入at server /every M,T,W,Th,F,S,Su 0:00 pathlogreport.js此处server为logreort.js所在的机器,本机可省略。path 为 logreport.js 所在的路径,默认的%systemroot%