Powershell - Get-WinEvent Заменить текст
У меня есть большой скрипт, который просматривает определенные журналы событий. Отчасти это следующая команда:
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 ответ
Решение
Это должно привести вас в правильном направлении:
$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]}}
Измените $_. Сообщение должно быть в любом поле с кодом ошибки.