Вопрос или проблема
Через PowerShell я пытаюсь создать новый журнал событий и записать в него тестовую запись, но она не отображается в Просмотре событий. Это команда, которую я использую для создания нового журнала событий:
new-eventlog -logname TestLog -source TestLog
И для записи нового события в него:
write-eventlog TestLog -source TestLog -eventid 12345 -message "Test message"
После выполнения первой команды нигде в Просмотре событий нет журнала “TestLog”, и я ожидал бы увидеть его в разделе Журналы приложений и служб. После выполнения второй команды — тот же результат. Однако, я действительно вижу ключ реестра для журнала в HKLM\SYSTEM\services\eventlog\TestLog. Но в Просмотре событий ничего не видно.
Два вопроса: Когда я должен увидеть журнал событий? После его создания или после записи в него первого события? И, что более важно, почему я его вообще не вижу?
Я использую Windows Server 2008R2, и вошел в систему и запускаю PS как администратор.
Причина оказалась ужасной: мне нужно было закрыть Просмотр событий и снова его открыть. Это совершенно безумно. Спасибо за помощь.
Ответ или решение
Создание и управление журналами событий с помощью PowerShell — это важная и часто используемая функция для администраторов систем и специалистов по информационным технологиям, особенно в среде Windows Server. Давайте подробно разберем вашу ситуацию по шагам, чтобы понять, почему новый журнал событий не отображается в Event Viewer и когда он должен появляться.
Теория
В Windows операционной системе журналы событий используются для записи информации о работе систем и приложений. Они позволяют отслеживать события, ошибки и другие важные действия, которые происходят на сервере или рабочей станции.
Команда New-EventLog
в PowerShell используется для создания нового журнала событий на локальном или удаленном компьютере. При создании журнала необходимо указать имя журнала и источник. Источники обычно используются для идентификации приложений или компонентов, которые записывают в журнал, и должны быть уникальными в контексте журнала.
Команда Write-EventLog
записывает событие в указанный журнал, и вам требуются права администратора для создания и записи в собственные журналы событий.
Пример
Команды, которые вы использовали, выглядят следующим образом:
-
Создание нового журнала событий:
New-EventLog -LogName TestLog -Source TestLog
-
Запись события в журнал:
Write-EventLog -LogName TestLog -Source TestLog -EventId 12345 -Message "Test message"
После выполнения первой команды будет создан новый журнал событий с именем TestLog
и источником TestLog
. После второй команды в журнал TestLog
будет записано событие с идентификатором 12345
и текстом сообщения "Test message".
Применение
Теперь, когда мы понимаем основные команды и их функции, попытаемся диагностировать вашу проблему:
-
Отображение в Event Viewer: Обычно новый журнал событий должен появляться в Event Viewer сразу после его создания, если вы его правильно создали и имеете доступ. Однако, в некоторых случаях (особенно на более старых версиях Windows, таких как Windows Server 2008R2), Event Viewer может не отображать новые журналы мгновенно. Это связано с тем, что Event Viewer может кэшировать список доступных журналов, и обновление может происходить только после его перезапуска.
-
Проблемы с привилегиями: Даже если вы работаете под учетной записью администратора, убедитесь, что PowerShell запущен с правами администратора. Это необходимо для того, чтобы команды
New-EventLog
иWrite-EventLog
могли быть корректно выполнены. -
Проверка в реестре: То, что ключ в реестре существует по пути
HKLM\SYSTEM\services\eventlog\TestLog
, указывает на то, что журнал был успешно создан на уровне системы. Однако, это наличие в реестре не гарантирует его видимость в Event Viewer без перезагрузки последнего. -
Рекомендации по устранению неисправностей:
- Закройте и откройте Event Viewer снова, чтобы обновить список журналов событий, к которому он имеет доступ.
- Если проблемы продолжаются, попробуйте перезагрузить ваше устройство, чтобы удостовериться в применении всех изменений на уровне системы.
- Убедитесь, что ваши команды PowerShell не вызывают ошибок и не требуют дополнительных параметров.
Закрытие и повторное открытие Event Viewer, действительно, может показаться неудобным, но это общий подход в Windows Server 2008R2 при работе с новыми журналами событий. На более поздних версиях Windows система лучше обрабатывает создание и обнаружение новых журналов событий в режиме реального времени.
Таким образом, чтобы решить вашу проблему, рекомендуется закрыть Event Viewer и открыть его заново после создания нового журнала в PowerShell. Это позволит обновить список доступных журналов и отобразить те, которые были добавлены после последнего обновления интерфейса.