Get-EventLog не анализирует сообщение при запуске пользователем SYSTEM - PullRequest
0 голосов
/ 28 сентября 2018

Проблема

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

Я написал сценарий на основе команды 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 идентичны как на исходном, так и на целевом компьютерах.

1 Ответ

0 голосов
/ 29 декабря 2018

Попробуйте: Get-WinEvent -LogName «Microsoft-Windows-Security-Auditing» |где ID-экв 4724 |select-object -ExpandProperty Message

...