日期:2014-05-17 浏览次数:21746 次
?
?
1、windows系统日志的存储:
windows的系统日志存储在C:\WINDOWS\system32\config目录,文件后缀为evt。
2、导出工具:
使用dumpel.exe可以导出windows的系统日志。
dumpel.exe可以去微软官网下载,地址:http://support.microsoft.com/kb/927229。
下载后的dumpel.exe是个安装文件,安装完后可以在安装目录找到一个dumpel.exe,我们需要的是安装后的dumpel.exe。
3、导出脚本:
直接使用dumpel.exe不容易实现自动定期导出系统日志。所以需要编写个脚本。脚本内容:
?
//获得YYYYMMDD格式的当前时间
function getCurYYYYMMDD()
{
var today = new Date();
var year = today.getYear();
var month = today.getMonth() + 1;
if (month < 10) {
month = "0" + month;
}
var date = today.getDay();
if (date < 10)
{
date = "0" + date;
}
return year + "" + month + "" + date;
}
//补齐目录结尾的'\'
function makeDir(str)
{
if (str.charAt(str.length - 1) != '\\')
{
return str + "\\";
}
else
{
return str;
}
}
//处理命令行参数
var args = WScript.Arguments;
var days = 1;
var path = "";
var exepath = "";
for (i = 0; i < args.length; i++)
{
var a = args(i);
if (a.indexOf("-e") == 0)
{
exepath = a.substring(2, a.length);
}
if (a.indexOf("-p") == 0)
{
path = a.substring(2, a.length);
}
if (a.indexOf("-d") == 0)
{
days = a.substring(2, a.length);
}
}
//补齐目录结尾的'\'
exepath = makeDir(exepath);
path = makeDir(path);
//获取当前时间
var YYYYMMDD = getCurYYYYMMDD();
var YYYYMM = YYYYMMDD.substring(0, 6);
//判断按月存放的目录是否存在
var fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.FolderExists(path + YYYYMM) != true)
{
fso.CreateFolder(path + YYYYMM);
}
//执行程序,导出日志
var ws = new ActiveXObject("WScript.shell");
ws.run(exepath + "dumpel.exe /l" + " application" + " /f " + path + YYYYMM + "\\" + YYYYMMDD + "_app.xls /d " + days, 0, true);
ws.run(exepath + "dumpel.exe /l" + " security" + " /f " + path + YYYYMM + "\\" + YYYYMMDD + "_sec.xls /d " + days, 0, true);
ws.run(exepath + "dumpel.exe /l" + " system" + " /f " + path + YYYYMM + "\\" + YYYYMMDD + "_sys.xls /d " + days, 0, true);
?
?
4、执行命令:
cscript bak_win_log.js -eD:\Desktop -pD:\winlog -d7
使用windows的任务计划执行该命令就实现了定期导出。
*dumpel的安装目录里的dumpel_d.htm是使用说明。
?