Get-EventLog - отсутствует DLL - PullRequest
0 голосов
/ 25 апреля 2018

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

Однако у меня возникла проблема с PowerShell, когда определенные идентификаторы событий не отображают фактическое сообщение журнала событий.

Если я запускаю следующее:

Get-EventLog -ComputerName $env:COMPUTERNAME `
             -LogName System `
             -InstanceId 12 `
             -Source Microsoft-Windows-Kernel-General | 
    Select-Object -Property Message

Я ожидаю получить сообщение, отображаемое в журнале фактических событий:

Event Log

Вместо этого я получаю что-то вроде:

The description for Event ID '12' in Source
'Microsoft-Windows-Kernel-General' cannot be found.  The local
computer may not have the necessary registry information or message
DLL    files to display the message, or you may not have permission to
access them.  The following information is part of the event:'10',
'0', '15063', '726', '0', '0',                    
'2018-03-18T16:59:34.495252300Z'

Я видел другой поток об использовании Get-WinEvent, к сожалению, это невозможно в среде, в которой я работаю.

1 Ответ

0 голосов
/ 25 апреля 2018

Прочитайте и следуйте документации :

Get-WinEvent

Модуль: Microsoft.PowerShell.Diagnostics

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

Примечания

  • Этот командлет предназначен для замены командлета Get-EventLog на компьютерах под управлением Windows Vista и более поздних версий Windows.Get-EventLog получает события только в классических журналах событий.Get-EventLog сохраняется в Windows PowerShell для обратной совместимости .

Get-WinEvent Командлет позволяет фильтровать события с помощью запросов XPath, структурированных запросов XML и упрощенногоЗапросы к хеш-таблице (последний используется в следующем примере):

PS D:\PShell> Get-WinEvent -ComputerName $env:COMPUTERNAME `
        -FilterHashtable @{
            ProviderName = 'Microsoft-Windows-Kernel-General';
            Id           = '12';
            LogName      = 'System' } `
        -MaxEvents 3 | 
    Format-Table -Property  RecordId, Message


RecordId Message                                                               
-------- -------                                                               
   14103 The operating system started at system time ‎2018‎-‎04‎-‎25T06:13:0...
   13957 The operating system started at system time ‎2018‎-‎04‎-‎24T05:34:3...
   13826 The operating system started at system time ‎2018‎-‎04‎-‎22T07:49:0...

См. также связанный вывод (устарел) Get-EventLog:

PS D:\PShell> Get-EventLog -ComputerName $env:COMPUTERNAME `
        -LogName System `
        -InstanceId 12 `
        -Source Microsoft-Windows-Kernel-General `
        -Newest 3 | 
    Select-Object -Property Index, Message


Index Message                                                                  
----- -------                                                                  
14103 The description for Event ID '12' in Source 'Microsoft-Windows-Kernel-...
13957 The description for Event ID '12' in Source 'Microsoft-Windows-Kernel-...
13826 The description for Event ID '12' in Source 'Microsoft-Windows-Kernel-...

...