Проблема
Я пытаюсь запланировать задание, которое отслеживает события на удаленных машинах.
Я написал скрипт на основе команды 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 идентичны как на исходном, так и на целевом компьютерах.
get-winevent
, можете ли вы попробовать передать параметр -credential - person TheGameiswar   schedule 29.09.2018