Spróbuj WEvtUtil.exe
Za pomocą GUI nie można wyczyścić wszystkich dzienników jednocześnie. Przynajmniej nie to, że kiedykolwiek znalazłem. :)
Zapętlaj i usuwaj z plikiem pośrednim
Oto plik wsadowy, który używa WEVTUTIL.exe do wyświetlenia dzienników w pliku tekstowym, a następnie użyj tego pliku tekstowego do usunięcia każdego z dzienników.
WEVTUTIL EL > .\LOGLIST.TXT
for /f %%a in ( .\LOGLIST.TXT ) do WEVTUTIL CL "%%a"
del .\LOGLIST.TXT
timeout 30
Jeśli czujesz się niepewnie, mając to wszystko w jednym pliku wsadowym, możesz zapisać to w dwóch osobnych plikach, a następnie uruchamiać jeden po drugim:
(partia „Nuke” po prostu wyskoczy, jeśli nie znajdzie loglog.txt „w bieżącym katalogu).
Populate-LogList.cmd
@ECHO OFF
REM Source: /superuser//a/655185/389368
WEvtUtil.exe enum-logs > .\LOGLIST.TXT
Nuke-LogList.cmd
@ECHO OFF
REM Source: /superuser//a/655185/389368
for /f %%a in ( .\LOGLIST.TXT ) do WEvtUtil.exe clear-log "%%a"
del .\LOGLIST.TXT
timeout 30
Pętla i usuwanie bezpośrednio
Jak zauważył Logman w swojej odpowiedzi , można to jeszcze bardziej skrócić (i wyeliminować potrzebę pośredniego pliku tekstowego), używając czegoś w rodzaju (podwójna% dla pliku wsadowego):
for /f %%a in ('WEVTUTIL EL') do WEVTUTIL CL "%%a"
timeout 30
Uruchom jako administrator!
Niezależnie od wybranego sposobu upewnij się, że „Uruchom jako administrator”.
Najłatwiejsze rozwiązanie, jakie znalazłem. Używam go od Visty. :)