Yup, I have a script that does it. Save the code to a text file and name it DumpEventLogs.vbs then schedule the script to run at whatever interval you see fit. Don't forget to edit the destination path. CODE '========================================================================== ' ' NAME: DumpEventLogs.vbs ' ' AUTHOR: Mark D. MacLachlan , The Spider's Parlor ' URL: http://www.thespidersparlor.com ' DATE : 1/12/2004 ' ' COMMENT: Edit the Destination Server path below to indicate where to dump files to. ' Run this script on the server who's event logs are to be saved. ' ' This script and many more are included in ' The Spider's Parlor Admin Script Pack '==========================================================================
Dim DestServer ' Put in the UNC path for where you want the logs to be stored DestServer = "\\backupserver\C$\Logs\"
'Create the Time variables sDate=Right("0" & Month(Date),2) _ & "-" & Right("0" & Day(Date),2) _ & "-" & Right(Year(Date),2)
sTime = DatePart("h", Now) & DatePart("n", Now)
set oFSO = CreateObject("Scripting.FileSystemObject")
'If correct folder doesn't exist, make it if Not oFSO.FolderExists(DestServer & sDate) then set oFolder = oFSO.CreateFolder(DestServer & sDate ) end if
'Gets the log files for this machine strComputer = "."
Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate, (Backup, Security)}!\\" _ & strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _ ("Select * from Win32_NTEventLogFile")
'This section goes out and gets the hostname this is run on for us.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
For Each objItem in colItems strHOSTNAME = objItem.Name NEXT
'Now archive the logs and clear them if oFSO.FolderExists(DestServer & sDate) then For Each objLogfile in colLogFiles strBackupLog = objLogFile.BackupEventLog _ (DestServer & sDate & "\" & strHOSTNAME & "_" & objLogFile.LogFileName & "_" & sDate & "_" & sTime & ".evt") objLogFile.ClearEventLog() Next end if
I hope you find this post helpful.
Regards,
Mark |
|