이벤트 뷰어에 중요성은 시스템을 관리라는 매우 중요하다고 생각 되는 부분이며 앞으로 많은 양의 시스템을 관리하게 된다면 더욱 더 필요하지 않을까 생각 한다.


아래와 같은 작업 방법에서 몇 가지 불편한 점과 해결 부분
매일 이벤트 뷰어를 보내게 된다면 전에 나타난 메시지를 계속해서 보게 되며 그러한
것을 처리 하기 위해서는 구분해서 가져와야 하는 추가 스크립트가 필요하다.

매주 이벤트 뷰어를 저장해서 따로 보관한다면 유지 관리에 많은 도움을 제공 할 수
있다.


한 주 정도의 이벤트 뷰어에 대해서 매주 저장하는 방법으로 사용 하시길 바라며

작업 방법과 파일 리스트
이벤트 쿼리 작업 진행 (event-q.vbs)

쿼리 한 작업을 텍스트 파일로 만듦(mail.bat)

텍스트 파일을 메일로 첨부해서 보냄(mail.vbs)

스크립트 파일 : 스크립트 다운로드(샘플)

마지막으로 스케줄 작업을 진행하면 된다. 제어판에 있는 예약작업을 통해서 "mail.bat" 매일 정기적으로 진행 하기를 바란다.


곧 이어서 일일데이터만 수집 할 수 있도록 추가해서 올려 보도록 하겠다.


이벤트 수집 하는 방법(event-q.vbs)

--------------- event-q.vbs ----------------------
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("SELECT * FROM Win32_NTLogEvent WHERE Logfile = 'System' and Type = 'error'")
For Each objEvent in colLoggedEvents
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
Next
---------------------------------------------------




쿼리 한 작업을 텍스트 파일로 만듦(mail.bat)

---------------------------------------------------
 
@echo off
cscript C:\mscript\event-q.vbs > event.txt
cscript C:\mscript\mail.vbs

---------------------------------------------------



텍스트 파일을 메일로 첨부해서 보냄(mail.vbs)

---------------------------------------------------

 Dim objSendMail, fso, ofile, body

Set objSendMail = CreateObject("CDONTS.NewMail")
Set fso = CreateObject("Scripting.FileSystemObject")
Set ofile = fso.openTextFile("C:\mscript\event.txt" )
body = oFile.readAll

objSendMail.From = "ntfaq@ntfaq.co.kr" '요기는 자기의 메일주소를 써 주세요
objSendMail.To = "ntfaq@ntfaq.co.kr" '요기도 자기의 메일주소를 써 주세요
objSendMail.Subject = "이벤트 로그 자료 첨부 합니다. (" & Date() & ")"
objSendMail.Body = body

objSendMail.Send
Set objSendMail = Nothing

Wscript.Echo "메일이 발송되었습니다"

---------------------------------------------------



위 작업에서 보안 되어야 할 부분


정기적으로 메일을 지우는 작업 스크립트 또는 날짜 기준으로 필요한 하루 또는 일주일 날짜만 가져오는 스크립트 추가 구성 필요 함

일주일 단위로 이벤트로그를 저장해서 따로 두는 방법 필요



아직 국내는 윈도우 시스템에 대한 스크립트가 회사에서 필요한 일부로 소개되어서 사용되고 있기 때문에 많이 사용을 하지 않고 있다.

필자도 아직 서투른 작업이지만 하나씩 소개 하면서 좋을 글을 소개 올리도록 하겠다.

회원 여러분들도 좋은 자료가 있다면 소개 시켜 주시면 감사 하겠습니다.

참고 자료 :
Windows Scripting Solutions
http://www.winnetmag.com/WindowsScriptingIndex.cfm?Ad=1
TechNet Script Center
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scriptcenter/default.asp
2005/06/15 15:27 2005/06/15 15:27

트랙백 주소 :: http://thinkit.or.kr/windows/trackback/295