Какие существуют варианты очистки журналов событий в Windows 2003, кроме открытия средства просмотра событий и очистки журналов один за другим в интерактивном режиме? Я не считаю, что PowerShell является вариантом, так как это также требует загрузки.

2 ответа2

0

Исходный ответ 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
0

Вы можете использовать сценарии 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 чтобы запустить его из командной строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .