Powershell - Get-WinEvent Заменить текст - PullRequest
0 голосов
/ 08 мая 2018

У меня есть большой скрипт, который просматривает определенные журналы событий. Отчасти это следующая команда:

Get-EventLog -ComputerName $computer -InstanceId 4625 -LogName Security -After $date -ErrorAction Stop | Select TimeWritten,@{n='Reason for Failure';e={$_.ReplacementStrings[8]}}

Я получаю следующий вывод:

TimeWritten         Reason for Failure
-----------         ------------------
08/05/2018 10:55:06 %%2313            
08/05/2018 09:19:24 %%2313            
08/05/2018 07:49:22 %%2304            
08/05/2018 07:49:22 %%2304  

Можно ли изменить вывод в столбце причины сбоя на какое-либо другое сообщение. Я знаю об операторе -replace, но я пытаюсь понять, как это включить?

1 Ответ

0 голосов
/ 08 мая 2018

Это должно привести вас в правильном направлении:

$failures = @{'%%2313' = 'Unknown User Name or Bad Password';
              '%%2304' = 'An Error occured during Logon'
             }
Get-EventLog -ComputerName $computer -InstanceId 4625 -LogName Security -After $date -ErrorAction Stop | Select TimeWritten,@{n='Reason for Failure';e={$failures[$_.Message]}}

Изменить $ _. Сообщение должно быть в любом поле с кодом ошибки.

...