Ako vymazať denník udalostí systému Windows z príkazového riadku
Často, keď chcete riešiť problémy alebo mať všeobecnú kontrolu stavu vášho systému, musíte použiť Zobrazovač udalostí. Zobrazovač udalostí zobrazuje všetky zaznamenané udalosti systému Windows, ako sú informácie, chyby, varovania, kritické a podrobné informácie. Je tu však toľko udalostí vrátane úplne bežných činností, ktoré sa zaznamenávajú, že je ťažšie rozpoznať udalosti súvisiace s vecami, ktoré nefungujú podľa očakávania alebo spôsobujú chyby. Takže z času na čas možno budete musieť vymazať denník udalostí. V tomto článku uvidíme, ako môžete vymazať denník udalostí automaticky alebo z príkazového riadku.
Systémový denník a denník aplikácií sú dva z dôležitých denníkov, ktoré možno budete chcieť občas vymazať. Každý denník udalostí môžete manuálne vymazať kliknutím pravým tlačidlom myši naň a výberom položky „Vymazať denník...“ z ponuky po kliknutí pravým tlačidlom myši. Môžete to však tiež nastaviť automaticky, aby sa denník udalostí vymazal každých 7 alebo 15 dní. Môžete tiež nastaviť naplánovanú úlohu, ktorá sa spustí automaticky pomocou ElevatedShortcut
na vymazanie denníka udalostí.Ako vymazať iba konkrétny denník udalostí pomocou príkazového riadka
- Otvorte príkazový riadok ako správca (vidieť ako).
- Ak chcete vymazať konkrétny protokol, musíte najprv poznať jeho názov. Ak chcete zobraziť zoznam denníkov udalostí, zadajte:
wevtutil el
- To vytvára veľmi dlhý zoznam protokolov. Môžete použiť príkaz: 'wevtutil el | viac“ (bez úvodzoviek), aby sa výstup zobrazil po jednej obrazovke. Alebo ho môžete vypísať do textového súboru pomocou príkazu:
wevtutil el > Loglist.txt
Tým sa vytvorí textový súbor Loglist.txt v pracovnom adresári príkazového riadka (rovnaký priečinok, v ktorom sa práve nachádzate v príkazovom riadku).
- Teraz, keď poznáte názov denníka, ktorý chcete vymazať, môžete použiť nasledujúci príkaz:
Aplikácia wevtutil cl
- Vyššie uvedený príkaz vymaže denník aplikácie. Na vymazanie systémového denníka použite: 'wevtutil cl System' (bez úvodzoviek).
Ako vymazať všetky protokoly udalostí pomocou príkazového riadka
- Otvorte Poznámkový blok a skopírujte a vložte doň nasledujúci text:
@echo vypnuté. PRE /F "tokens=1,2*" %%V IN ('bcdedit') NASTAVTE adminTest=%%V. IF (%adminTest%)==(Prístup) goto noAdmin. pre /F "tokens=*" %%G v ('wevtutil.exe el') DO (volajte :do_clear "%%G") ozvena. echo Protokoly udalostí boli vymazané! prejdite na koniec. :do_clear. vymazanie ozveny %1. wevtutil.exe cl %1. goto :eof. :noAdmin. echo Tento skript musíte spustiť ako správca! ozvena. :koniec
- Uložte ho ako dávkový súbor a dajte mu ľubovoľný názov, napríklad: ClEvtLog.bat alebo ClEvtLog.cmd.
Tip: Ak chcete priamo uložiť text s príponou .bat alebo .cmd, zadajte názov súboru v úvodzovkách, teda „ClEvtLog.bat“ alebo „ClEvtLog.cmd“. - Skopírujte tento dávkový súbor do nejakého adresára vo vašej systémovej ceste, napríklad C:\Windows, aby ste nemuseli zadávať úplnú cestu k nemu pri každom spustení.
- Otvorte zvýšený príkazový riadok (vidieť ako).
- Spustite dávkový súbor z príkazového riadka: ClEvtLog.cmd. Môžete ho spustiť aj priamo bez otvárania príkazového riadka alebo pomocou cmd /c, takže príkazový riadok sa po spustení zatvorí.
Ako vymazať všetky denníky udalostí pomocou PowerShell
- Otvorte PowerShell ako správca (pozrite si ako).
- Zadajte alebo skopírujte a prilepte nasledujúci príkaz do prostredia PowerShell:
wevtutil el | Foreach-Object {wevtutil cl "$_"}
- Stlačte Enter. Počkajte niekoľko sekúnd, kým sa vymažú všetky protokoly. Teraz môžete PowerShell ukončiť zadaním príkazu Exit.
Ako vymazať všetky protokoly udalostí pomocou VBScript/WMI (iba klasické protokoly udalostí)
- Otvorte Poznámkový blok a skopírujte a vložte doň nasledujúci text:
strComputer = "." Set objWMIService = GetObject("winmgmts:" _. & "{impersonationLevel=impersonate, (Backup, Security)}!\\" _. & strComputer & "\root\cimv2") Nastavte colLogFiles = objWMIService. ExecQuery _. ("Vyberte * z Win32_NTEventLogFile") Pre každý objLogfile v colLogFiles. objLogFile. ClearEventLog() Ďalšie
- Uložte ho ako súbor VBScript (.VBS) a dajte mu ľubovoľný názov, napríklad: ClEvtLog.vbs.
Tip: Ak chcete priamo uložiť text s príponou .vbs, zadajte názov súboru v úvodzovkách, teda „ClEvtLog.vbs“. - Skopírujte tento súbor VBScript do nejakého adresára vo vašej systémovej ceste, napríklad C:\Windows, aby ste nemuseli zadávať úplnú cestu k nemu pri každom spustení.
- Otvorte zvýšený príkazový riadok (vidieť ako).
- Spustite súbor VBScript z príkazového riadka: CScript ClEvtLog.vbs. Môžete ho spustiť aj priamo bez otvárania príkazového riadka alebo pomocou cmd /c, takže príkazový riadok sa po spustení zatvorí.
Metóda VBScript/WMI vymaže iba klasické protokoly udalostí (aplikácie, zabezpečenie, systém atď.), nie nový typ protokolov udalostí XML, ktoré vymazáva PowerShell alebo wevtutil.exe.
Všimnite si tiež, že tieto skripty nezálohujú protokoly pred ich vymazaním. Ak chcete zálohovať denníky udalostí, pozrite sa na Centrum skriptov spoločnosti Microsoft pre vzorky.