Jak wyczyścić dziennik zdarzeń systemu Windows z wiersza poleceń?
Często, gdy chcesz rozwiązać problemy lub przeprowadzić ogólną kontrolę stanu systemu, musisz użyć Podglądu zdarzeń. Podgląd zdarzeń pokazuje wszystkie zdarzenia systemu Windows, które są rejestrowane, takie jak informacje, błędy, ostrzeżenia, krytyczne i pełne. Ale jest tu tak wiele zdarzeń, w tym całkowicie normalne czynności, które są rejestrowane, że trudniej jest wykryć zdarzenia związane z rzeczami, które nie działają zgodnie z oczekiwaniami lub powodują błędy. Dlatego od czasu do czasu może być konieczne wyczyszczenie dziennika zdarzeń. W tym artykule zobaczymy, jak możesz wyczyścić dziennik zdarzeń automatycznie lub z wiersza poleceń.
Dziennik systemu i Dziennik aplikacji to dwa ważne dzienniki, które możesz chcieć od czasu do czasu wyczyścić. Możesz ręcznie wyczyścić dowolny dziennik zdarzeń, klikając go prawym przyciskiem myszy i wybierając „Wyczyść dziennik...” z menu po kliknięciu prawym przyciskiem myszy. Jednak możesz również chcieć zrobić to automatycznie, aby co 7 dni lub 15 dni dziennik zdarzeń został wyczyszczony. Możesz także
skonfigurować zaplanowane zadanie, które będzie uruchamiane automatycznie za pomocą ElevatedShortcut aby wyczyścić dziennik zdarzeń.Jak wyczyścić tylko określony dziennik zdarzeń za pomocą wiersza poleceń?
- Otwórz wiersz polecenia jako administrator (Zobacz jak).
- Aby wyczyścić konkretny dziennik, musisz najpierw znać jego nazwę. Aby zobaczyć listę dzienników zdarzeń, wpisz:
wevtutil el
- Daje to bardzo długą listę dzienników. Możesz użyć polecenia: 'wevtutil el | more” (bez cudzysłowów), aby wyświetlić wynik po jednym ekranie na raz. Lub możesz wyprowadzić go do pliku tekstowego za pomocą polecenia:
wevtutil el > Loglist.txt
Spowoduje to utworzenie pliku tekstowego Loglist.txt w katalogu roboczym wiersza polecenia (w tym samym folderze, w którym obecnie znajduje się wiersz polecenia).
- Teraz, gdy znasz nazwę dziennika, który chcesz wyczyścić, możesz użyć następującego polecenia:
wevtutil cl Zastosowanie
- Powyższe polecenie czyści dziennik aplikacji. Aby wyczyścić dziennik systemowy, użyj: 'wevtutil cl System' (bez cudzysłowów).
Jak wyczyścić wszystkie dzienniki zdarzeń za pomocą wiersza poleceń?
- Otwórz Notatnik i skopiuj i wklej do niego następujący tekst:
@echo wyłączone. DLA /F "tokens=1,2*" %%V W ('bcdedit') USTAW adminTest=%%V. JEŻELI (%adminTest%)==(Dostęp) przejdź do noAdmin. dla /F "tokens=*" %%G w ('wevtutil.exe el') DO (wywołaj :do_clear "%%G") Echo. Dzienniki zdarzeń echo zostały wyczyszczone! przejdź do końca. :wyczyść. usuwanie echa %1. wevtutil.exe cl %1. przejdź do :eof. :nieAdmin. echo Musisz uruchomić ten skrypt jako administrator! Echo. :koniec
- Zapisz go jako plik wsadowy i nadaj mu dowolną nazwę, na przykład: ClEvtLog.bat lub ClEvtLog.cmd.
Wskazówka: Aby bezpośrednio zapisać tekst z rozszerzeniem .bat lub .cmd, wpisz nazwę pliku w cudzysłowie, czyli „ClEvtLog.bat” lub „ClEvtLog.cmd”. - Skopiuj ten plik wsadowy do jakiegoś katalogu w ścieżce systemowej, na przykład C:\Windows, aby nie trzeba było wpisywać pełnej ścieżki do niego za każdym razem, gdy go uruchamiasz.
- Otwórz wiersz polecenia z podwyższonym poziomem uprawnień (Zobacz jak).
- Uruchom plik wsadowy z wiersza polecenia: ClEvtLog.cmd. Możesz także uruchomić go bezpośrednio bez otwierania wiersza polecenia lub używania cmd / c, aby wiersz polecenia został zamknięty po jego uruchomieniu.
Jak wyczyścić wszystkie dzienniki zdarzeń za pomocą PowerShell?
- Otwórz PowerShell jako administrator (zobacz jak).
- Wpisz lub skopiuj i wklej następujące polecenie do PowerShell:
wevtutil el | Foreach-Object {wevtutil cl "$_"}
- Naciśnij enter. Poczekaj kilka sekund, aż wszystkie dzienniki zostaną wyczyszczone. Możesz teraz wyjść z PowerShell, wpisując Exit.
Jak wyczyścić wszystkie dzienniki zdarzeń za pomocą VBScript/WMI (tylko klasyczne dzienniki zdarzeń)
- Otwórz Notatnik i skopiuj i wklej do niego następujący tekst:
strKomputer = "." Ustaw objWMIService = GetObject("winmgmts:" _. & "{impersonationLevel=personate, (kopia zapasowa, bezpieczeństwo)}!\\" _. & strComputer & "\root\cimv2") Ustaw colLogFiles = objWMIService. ExecQuery _. („Wybierz * z Win32_NTEventLogFile”) Dla każdego objLogfile w colLogFiles. objLogFile. Wyczyść dziennik zdarzeń() Następny
- Zapisz go jako plik VBScript (.VBS) i nadaj mu dowolną nazwę, na przykład: ClEvtLog.vbs.
Wskazówka: Aby bezpośrednio zapisać tekst z rozszerzeniem .vbs, wpisz nazwę pliku w cudzysłowie, czyli „ClEvtLog.vbs”. - Skopiuj ten plik VBScript do jakiegoś katalogu w ścieżce systemowej, na przykład C:\Windows, aby nie trzeba było wpisywać pełnej ścieżki do niego za każdym razem, gdy go uruchamiasz.
- Otwórz wiersz polecenia z podwyższonym poziomem uprawnień (Zobacz jak).
- Uruchom plik VBScript z wiersza polecenia: CScript ClEvtLog.vbs. Możesz także uruchomić go bezpośrednio bez otwierania wiersza polecenia lub używania cmd / c, aby wiersz polecenia został zamknięty po jego uruchomieniu.
Metoda VBScript/WMI czyści tylko klasyczne dzienniki zdarzeń (aplikacje, zabezpieczenia, system itp.), a nie nowe dzienniki zdarzeń typu XML, które są czyszczone przez PowerShell lub wevtutil.exe).
Należy również zauważyć, że te skrypty nie tworzą kopii zapasowej dzienników przed ich wyczyszczeniem. Jeśli chcesz wykonać kopię zapasową dzienników zdarzeń, spójrz na Centrum skryptów firmy Microsoft dla próbek.