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