您好,登录后才能下订单哦!
小编给大家分享一下WINDOWS Event log每日备份Scripts脚本的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
 
 
一.實作: 
 
首先scripts的組成有以下三個檔案 
 
1. 
 Dump_eventlog.cmd  -->這支Scripts是把eventlog Dump出來共以全文字檔 txt來存檔 
 
 
 
2. 
 dumpel.exe -->這是一支工具程式,因為如果用windows內建的匯出eventlog功能,匯出來的後綴檔名是.evt,以文字編程工具打開來會是亂碼,一定要用windows的事件檢查器打來看才行,那就太煩人了,所以我們用這支程式加上上一支 scripts就可以匯出後綴檔名為.txt的log檔,要查看就方便多了! 
 
 
 
3. 
 del_eventlog.vbs -->這支是用wsh編程編寫的scripts,功用是清空系統的eventlog記錄,有人要問了,我們不是要備份log嗎為什麼需要這支來刪除呀! 
 
還記得剛才說的嗎?我們是要備份每天的系統Log檔,所以用排程排定在每天的午夜12:59備份系統Log後,就利用這支scripts清空系統裡舊的 log,那樣我們每天備份的eventlog就會是完完整整的一整天,而不是好幾天混雜在一起的log備份! 
 
 
 
二.代碼說明 
 
接下來我就要解說代源的寫法囉 
 
 
 
1. 
 Dump_eventlog.cmd   
 
 
 
---------------------------------- 源代碼 ------------------------------------------------------------ 
 
@echo Off 
 
mkdir %DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2% 
 
@echo ******* start Backup Eventlog ****** 
 
dumpel -s 127.0.0.1 -l system -f %DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%/system.log 
 
dumpel -s 127.0.0.1 -l application -f %DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%/application.log 
 
dumpel -s 127.0.0.1 -l security -f %DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%/security.log 
 
@echo ******* Finish Backup Eventlog ****** 
 
star /min del_eventlog.vbs 
 
--------------------------------------------------------------------------------------------------------- 
 
說明: 
 
代碼不含上下二條虛線喔!第二行是我們要建立一個以日期為名稱的資料夾 
 
因為windows的date抓取的日期變數會是2005/02/23 星期三"這樣的文字,其內的斜線(/)或減號(-)都是用做命令列的選項符號,這樣的組合可能會造成錯誤。 
 
在此最簡單的方法便是用環境變數的擴充功能了,用%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%,我們就可以抓取以 2006-10-20這種格式的日期,4~6行則是利用dumpel 這支程式把 security 、application 、system 三項log記錄匯出來以txt檔備份到以當天日期命名的資料夾裡,ip我是用本機,請依照自己的需要改成你自己主機的ip,star /min del_eventlog.vbs這行則是在備份完之後清空系統的log記錄,原因,前面我們己經說過了!把上面的源碼copy並存成.bat或.cmd 的檔名就可以了! 
 
 
 
 
 
2. 
 del_eventlog.vbs  
 
-------------------------------------源代碼 ----------------------------------------------------------- 
 
'刪除Evenlog 
 
strComputer= "." 
 
Set objWMIService = GetObject("winmgmts:" _ 
 
& "{impersonationLevel=impersonate,(Backup)}!\\" & _ 
 
strComputer & "\root\cimv2") 
 
dim mylogs(3) 
 
mylogs(1)="application" 
 
mylogs(2)="system" 
 
mylogs(3)="security" 
 
for Each logs in mylogs 
 
Set colLogFiles=objWMIService.ExecQuery _ 
 
("Select * from Win32_NTEventLogFile where LogFileName='"&logs&"'") 
 
For Each objLogfile in colLogFiles 
 
objLogFile.ClearEventLog() 
 
Next 
 
Next 
 
--------------------------------------------------------------------------------------------------------- 
 
說明: 
 
代碼不包含上下二條虛線喔!這支是清空系統eventlog的wsh編程 scripts,這裡就不多做介紹了,有興趣可以到微軟的腳本範例網站看看,上面有對wsh的做很多的介紹也有範例檔可下來研究! 
以上是“WINDOWS Event log每日备份Scripts脚本的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。