Журналы событий - первое место, куда смотрят, когда что-то сломалось: служба не запускается, сервер перезагрузился сам, пользователь не может войти. Windows пишет туда сообщения системы, служб и программ, а также события аудита безопасности. Разберём, как в них ориентироваться, быстро находить нужное и следить, чтобы журналы не переполнялись.

Инструкция подходит для Windows 10 и 11, а также для Windows Server 2016, 2019, 2022 и 2025.

Просмотр событий

Оснастка открывается командой eventvwr.msc или через «Управление компьютером». Слева дерево журналов:

Журналы Windows:

  • Приложение - события программ и части служб;
  • Безопасность - события аудита: входы, изменения учётных записей, доступ к объектам (если включён аудит);
  • Установка - установка обновлений и компонентов;
  • Система - события Windows и драйверов: запуск и остановка служб, ошибки дисков, перезагрузки;
  • Пересланные события - события, собранные с других компьютеров.

Журналы приложений и служб - отдельные журналы конкретных компонентов: DNS-сервера, служб каталогов, PowerShell, групповой политики, планировщика заданий и многих других. Многие из них лежат в разделе «Microsoft» → «Windows» → <компонент> → «Operational». Для диагностики конкретной службы искать нужно именно здесь.

У каждого события есть:

  • уровень - «Критический», «Ошибка», «Предупреждение», «Сведения»; в журнале безопасности вместо них «Аудит успеха» и «Аудит отказа»;
  • источник - программа или компонент, записавшие событие;
  • код события (Event ID) - номер, по которому событие удобно искать в документации и в интернете;
  • дата и время, пользователь, компьютер и текст описания. На вкладке «Подробности» - те же данные в виде XML.

Фильтры

Воронка, сверху много строк, снизу немного

Журналы содержат тысячи записей, поэтому без фильтра в них не разобраться. В правой панели выберите «Фильтр текущего журнала»:

  • Дата - за последний час, сутки, неделю или произвольный период;
  • Уровень события - например, только критические события и ошибки;
  • Источники событий;
  • Коды событий - через запятую, диапазоны через дефис (4624,4625,4740 или 6005-6008). Минус перед кодом исключает его: -4624;
  • Категория задачи, ключевые слова, пользователь, компьютер.

Фильтр применяется к открытому журналу и сбрасывается командой «Очистить фильтр».

Настраиваемые представления

Если фильтр нужен регулярно, сохраните его как настраиваемое представление: «Создать настраиваемое представление» в правой панели. В отличие от фильтра, представление может охватывать несколько журналов сразу. Готовое представление «Административные события» уже показывает все критические события, ошибки и предупреждения из основных журналов.

XML-фильтры

На вкладке XML окна фильтра можно отредактировать запрос вручную. Это даёт возможности, которых нет в форме, например, фильтр по полю внутри события. Пример: неудачные входы конкретного пользователя.

xml
<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[System[(EventID=4625)]] and *[EventData[Data[@Name='TargetUserName']='ivanov']]
    </Select>
  </Query>
</QueryList>

Работа из PowerShell

Get-WinEvent ищет события в любых журналах, локально и на удалённых компьютерах:

powershell
Get-WinEvent -LogName System -MaxEvents 20
Get-WinEvent -FilterHashtable @{LogName='System'; Level=1,2; StartTime=(Get-Date).AddDays(-1)}
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 50
Get-WinEvent -ListLog * | Where-Object RecordCount -gt 0
Get-WinEvent -FilterHashtable @{LogName='System'; Id=6008} -ComputerName SRV-FS01

Уровни: 1 - критический, 2 - ошибка, 3 - предупреждение, 4 - сведения. -FilterHashtable фильтрует на стороне журнала и работает намного быстрее, чем Get-WinEvent | Where-Object.

Из командной строки то же умеет wevtutil:

batch
rem последние 10 событий в текстовом виде
wevtutil qe System /c:10 /rd:true /f:text
rem список всех журналов
wevtutil el

Полезные коды событий

Журнал «Система»:

  • 6005 и 6006 - запуск и остановка службы журнала событий, то есть фактически включение и штатное выключение компьютера;
  • 6008 - предыдущее завершение работы было неожиданным;
  • 41 (источник Kernel-Power) - система перезагрузилась без корректного завершения: зависание, сбой питания, синий экран;
  • 1074 - кто и почему инициировал перезагрузку или выключение (пользователь, программа, установка обновлений);
  • 7000, 7001, 7034, 7031 - служба не запустилась, не запустилась из-за зависимости, неожиданно завершилась.

Журнал «Безопасность»:

  • 4624 - успешный вход, 4625 - неудачная попытка входа (в описании указаны причина и адрес источника);
  • 4740 - учётная запись заблокирована (на контроллере домена указан компьютер, с которого шли неверные пароли);
  • 4720, 4726 - создание и удаление учётной записи;
  • 4728, 4732, 4756 - добавление в глобальную, локальную и универсальную группу безопасности;
  • 1102 - журнал безопасности очищен.

Размер журнала и поведение при заполнении

Свойства журнала открываются правым щелчком → «Свойства». Здесь видно, где хранится файл (по умолчанию в %SystemRoot%\System32\winevt\Logs), его текущий размер и настройки:

  • Максимальный размер журнала - по умолчанию небольшой. Для журнала безопасности на контроллерах домена и важных серверах его стоит заметно увеличить, иначе старые события вытесняются за часы.
  • При достижении максимального размера:
    • «Переписывать события при необходимости» - старые события удаляются, режим по умолчанию;
    • «Архивировать журнал при заполнении, не перезаписывать события» - полный журнал сохраняется в отдельный файл рядом, и начинается новый. Ничего не теряется, но архивы занимают место, их нужно убирать вручную;
    • «Не перезаписывать события (очистка журнала вручную)» - когда журнал заполнится, новые события перестанут записываться.

Из командной строки:

batch
rem максимальный размер 1 ГБ
wevtutil sl Security /ms:1073741824
rem текущие настройки журнала
wevtutil gl Security

На многих компьютерах сразу эти параметры задают групповой политикой: «Конфигурация компьютера» → «Административные шаблоны» → «Компоненты Windows» → «Служба журнала событий» → <журнал>, параметры «Максимальный размер журнала» и «Резервное копирование журнала при его заполнении».

Очистка журнала

В контекстном меню журнала выберите «Очистить журнал». Оснастка предложит сначала сохранить содержимое - выберите «Сохранить и очистить», если события могут понадобиться.

batch
wevtutil cl System
rem с сохранением копии
wevtutil cl Application /bu:D:\Archive\Application.evtx

Очистка журнала безопасности сама записывает событие 1102, а очистка журнала «Система» - событие 104. Это сделано специально: так видно, что кто-то стирал следы.

Архивация

Стопки листов, стрелка и ряд архивных ящиков

Сохранить журнал целиком или только отфильтрованные события: «Сохранить все события как» (или «Сохранить отфильтрованный журнал как») в правой панели. Формат .evtx открывается на любом компьютере с Windows: «Действие» → «Открыть сохранённый журнал». Для обмена с людьми без Windows можно сохранить в текст или CSV.

batch
wevtutil epl System D:\Archive\System.evtx
wevtutil epl Security D:\Archive\Failed.evtx /q:"*[System[(EventID=4625)]]"

Для регулярной архивации удобно включить режим «Архивировать журнал при заполнении» и забирать архивные файлы заданием планировщика на файловый сервер или в систему резервного копирования.

Сбор событий с других компьютеров

Чтобы не ходить по серверам, события можно собирать на одном компьютере через подписки: узел «Подписки» в оснастке просмотра событий. На компьютерах-источниках должно быть включено удалённое управление (winrm quickconfig), а учётной записи сборщика нужно разрешение читать их журналы (группа «Читатели журнала событий»). Собранные события попадают в журнал «Пересланные события».

В крупных сетях события обычно отправляют в централизованные системы сбора и анализа журналов, но для небольшой инфраструктуры встроенных подписок хватает.