Powershell - Get-WinEvent 替换文本
Powershell - Get-WinEvent Replace Text
我有一个查看特定事件日志的大型脚本。其中一部分是以下命令:
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
运算符,但我正在为如何合并它而苦苦挣扎?
这会让您朝着正确的方向前进:
$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]}}
将 $_.Message 更改为具有错误代码的字段。
我有一个查看特定事件日志的大型脚本。其中一部分是以下命令:
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
运算符,但我正在为如何合并它而苦苦挣扎?
这会让您朝着正确的方向前进:
$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]}}
将 $_.Message 更改为具有错误代码的字段。