Спробуйте WEvtUtil.exe
За допомогою GUI немає можливості одразу очистити всі журнали. Принаймні, не те, що я коли-небудь знаходив. :)
Петля та видалення з проміжним файлом
Ось пакетний файл, який використовує WEVTUTIL.exe, щоб перелічити журнали до текстового файлу, а потім використати цей текстовий файл для видалення кожного з журналів.
WEVTUTIL EL > .\LOGLIST.TXT
for /f %%a in ( .\LOGLIST.TXT ) do WEVTUTIL CL "%%a"
del .\LOGLIST.TXT
timeout 30
Якщо ви відчуваєте себе небезпечно мати все це в одному пакетному файлі, тоді ви можете зберегти це у двох окремих файлах, а потім запустити один за одним:
(Пакет "Nuke" просто помилиться, якщо він не знайде "loglist.txt "у поточному каталозі.)
Населення-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
Цикл та видалення безпосередньо
Як зазначив Логман у своїй відповіді , це можна додатково скоротити (і усунути необхідність проміжного текстового файлу), використовуючи щось на кшталт (подвійний% для пакетного файлу):
for /f %%a in ('WEVTUTIL EL') do WEVTUTIL CL "%%a"
timeout 30
Біжи як адміністратор!
Який би спосіб ви не вибрали, переконайтеся, що ви «Запустити як адміністратор»
Найпростіше рішення, яке я знайшов. Використовували його з Vista. :)