Get-EventLog не анализирует сообщение при запуске пользователем SYSTEM

проблема

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

Я написал сценарий на основе Get-EventLog команда, и она работает правильно, когда запускается моей учетной записью. Но когда я бегу Get-EventLog как SYSTEM пользователь, .Message Атрибут возвращаемых объектов показывает следующую ошибку:

Описание для идентификатора события "4724" в источнике "Microsoft-Windows-Security-Auditing" не может быть найдено. На локальном компьютере может отсутствовать необходимая информация реестра или файлы DLL сообщений для отображения сообщения, или у вас может не быть разрешения на доступ к ним. Следующая информация является частью события: {somedata}

Когда я использую Get-WinEvent команда как SYSTEM пользователь, проблема не появляется и .Message часть отображается правильно.

Я бы придерживался Get-WinEventтем более что данные анализировать намного проще (благодаря ToXML() метод), но Get-EventLog бывает ужасно быстрее:(

Вопрос

Кто-нибудь знает, почему Get-EventLog не может сделать .Message когда управляется SYSTEM пользователь и, возможно, как это исправить?

Чтобы избежать очевидных ответов:

  • COMPUTER$ учетная запись является членом DOMAIN\Event Log Readers группа,
  • COMPUTER$ учетная запись имеет привилегии чтения над HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security на удаленных машинах,
  • очевидно, записи реестра для Microsoft-Windows-Security-Auditing и связанные DLL идентичны как на исходном, так и на целевом компьютерах.

0 ответов

Попробуйте: Get-WinEvent -LogName "Microsoft-Windows-Security-Auditing" | где ID -экв 4724 | select-object -ExpandProperty Сообщение

Другие вопросы по тегам