Какие существуют варианты очистки журналов событий в Windows 2003, кроме открытия средства просмотра событий и очистки журналов один за другим в интерактивном режиме? Я не считаю, что PowerShell является вариантом, так как это также требует загрузки.
2 ответа
Исходный ответ ServerFault Сохранение и очистка журналов событий. Ответ ServerFault от Bart De Vos
Существует инструмент SysInternals, который вы можете использовать для этого, теперь называется PSLogList. Это заменяет EventLog.pl из Windows 2K.
Вам нужно будет использовать опцию -c, чтобы очистить журналы после команды, и -g, чтобы указать файл. (по какой-то странной причине -g нет в использовании-помощи).
usage: psloglist [- ] [\\computer[,computer[,...] | @file [-u username [-p password]]] [-s [-t delimiter]] [-m #|-n #|-h #|-d #|-w][-c][-x][-r][-a mm/dd/yy][-b mm/dd/yy][-f filter] [-i ID[,ID[,...] | -e ID[,ID[,...]]] [-o event source[,event source][,..]]] [-q event source[,event source][,..]]] [-l event log file] <eventlog>
@file Execute the command on each of the computers listed in the file.
-a Dump records timestamped after specified date.
-b Dump records timestamped before specified date.
-c Clear the event log after displaying.
-d Only display records from previous n days.
-c Clear the event log after displaying.
-e Exclude events with the specified ID or IDs (up to 10).
-f Filter event types with filter string (e.g. "-f w" to filter warnings).
-h Only display records from previous n hours.
-i Show only events with the specified ID or IDs (up to 10).
-l Dump records from the specified event log file.
-m Only display records from previous n minutes.
-n Only display the number of most recent entries specified.
-o Show only records from the specified event source (e.g. \"-o cdrom\").
-p Specifies optional password for user name. If you omit this you will be prompted to enter a hidden password.
-q Omit records from the specified event source or sources (e.g. \"-q cdrom\").
-r SDump log from least recent to most recent.
-s This switch has PsLogList print Event Log records one-per-line, with comma delimited fields. This format is convenient for text searches, e.g. psloglist | findstr /i text, and for importing the output into a spreadsheet.
-t The default delimeter is a comma, but can be overriden with the specified character.
-u Specifies optional user name for login to remote computer.
-w Wait for new events, dumping them as they generate (local system only).
-x Dump extended data
eventlog eventlog
Если вам нужна команда, которую вы можете выполнить удаленно, вам понадобится что-то вроде этого:
psexec \\servername -c psloglist.exe -c -g application.evt application
Вы можете использовать сценарии VB и WMI (оба встроены в Windows)...
Этот код VBS попытается сделать резервную копию каждого журнала в C:\temp, а затем очистить их (если они были успешно скопированы):
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!\\" & _
strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile")
For Each objLogfile in colLogFiles
logfileName = objLogFile.LogfileName
Wscript.Echo "Processing " + logfileName + " log..."
errBackupLog = objLogFile.BackupEventLog("c:\temp\" + objLogFile.FileName + ".evt")
If errBackupLog <> 0 Then
Wscript.Echo "The " + logfileName + " event log could not be backed up."
Else
objLogFile.ClearEventLog()
End If
Next
Сохраните его в текстовый файл (например, LogClear.vbs
), а затем выполните cscript LogClear.vbs
чтобы запустить его из командной строки.