Čiščenje dnevnikov dogodkov v sistemu Windows s programom PowerShell in wevtutil

V nekaterih primerih želite izbrisati vse vnose v dnevniku dogodkov sistema Windows v računalniku ali strežniku. Seveda lahko čiščenje sistemskih dnevnikov opravite tudi z grafičnim pripenjanjem dogodkov. -  Eventvwr.msc (RMB v želenem dnevniku -> Počisti dnevnik), vendar Windows od začetka sistema Vista uporablja več deset dnevnikov za različne sistemske komponente in brisanje vseh s konzole pregledovalnika dogodkov bo precej mučno. Mnogo lažje je počistiti dnevnike iz ukazne vrstice: z uporabo PowerShell ali vgrajenega pripomočka wevtutil.

Vsebina:

  • Brisanje dnevnikov dogodkov s programom PowerShell
  • Čiščenje dnevnikov s pomočjo pripomočka za konzolo WevtUtil.exe

Brisanje dnevnikov dogodkov s programom PowerShell

Če ste namestili PowerShell 3 (privzeto je že nameščen v operacijskem sistemu Windows 8 / Windows Server 2012 in novejši), lahko z ukaznimi listi pridobite seznam dnevnikov in jih očistite Get-eventlog in Počisti dnevnik dogodkov.

Zaženite konzolo PowerShell s skrbniškimi pravicami in uporabite naslednji ukaz za seznam klasičnih dnevnikov dogodkov v sistemu z njihovimi največjimi velikostmi in številom dogodkov v njih.

Get-EventLog -NogName *

Če želite izbrisati vse dogodke iz določenega dnevnika dogodkov (na primer sistemski dnevnik), uporabite ukaz:

Sistem Clear-EventLog -LogName

Kot rezultat, bodo vsi dogodki iz tega dnevnika izbrisani, v dnevniku dogodkov pa bo ostal le en dogodek EventId 104 z besedilom "Datoteka sistemskega dnevnika je bila izbrisana".

Če želite počistiti vse dnevnike dogodkov, boste morali imena dnevnikov preusmeriti na cevovod, vendar je žal to prepovedano. Zato bomo morali uporabiti zanko ForEach:

Get-EventLog -LogName * | ForEach Clear-EventLog $ _. Log

Tako bodo izbrisani vsi klasični dnevniki EventLogs..

Čiščenje dnevnikov s pomočjo pripomočka za konzolo WevtUtil.exe

Za delo z dogodki v sistemu Windows je že dlje časa na voljo zmogljiv pripomoček ukazne vrstice. Wevtutil.exe. Njegova skladnja je na prvi pogled nekoliko zapletena. Tu je na primer tisto, kar se vrača pomoč uporabnosti:

Če želite seznam dnevnikov dogodkov registrirati v sistemu, zaženite ukaz:

WevtUtil enum-dnevniki

ali krajša možnost:

Wevt util el

Na zaslonu bo prikazan precej impresiven seznam razpoložljivih revij..

Opomba. Njihovo število lahko izračunate s pomočjo ukaza WevtUtil el | Merilni objekt. V mojem primeru je v sistemu Windows 10 1.055 različnih dnevnikov).

Podrobnejše informacije lahko dobite na določeni reviji:

Nastavitev WevtUtil gl

Čiščenje dogodkov v določenem dnevniku se izvede na naslednji način:

WevtUtil cl Setup

Pred čiščenjem lahko varnostno kopirate dogodke v dnevniku, tako da jih shranite v datoteko:

WevtUtil cl Setup /bu:SetupLog_Bak.evtx

Če želite počistiti vse dnevnike naenkrat, lahko uporabite ukazni ukaz Powershell Pridite-WinEvent da dobite vse predmete dnevnika in Wevtutil.exe, da jih očistite:

Get-WinEvent -ListLog * -Force | % Wevtutil.exe cl $ _. LogName

ali tako

Wevtutil el | ForEach wevtutil cl “$ _”

Opomba.  V našem primeru 3 dnevnikov ni bilo mogoče izbrisati zaradi napake v dostopu. Vredno je poskusiti očistiti vsebino teh dnevnikov s konzolo Pregledovalnik dogodkov..

Čiščenje dnevnika se lahko izvede tudi iz klasične ukazne vrstice:

za / F "tokens = *"% 1 in ('wevtutil.exe el') DO wevtutil.exe cl "% 1"