我还没有找到实现所需结果的方法。
cls
$log = "System"
$filterDate = (Get-Date).AddDays(-4)
Get-WinEvent -ComputerName $env:COMPUTERNAME -FilterHashtable @{logname=$log;ID=7001,7002;StartTime=$filterDate} -MaxEvents 4|
Select-Object leveldisplayname, TimeCreated,id, message, ProviderName | Format-Table -wrap
此结果显示消息的字符串结果为“用户的用户登录/注销通知...”
我的目标是仅显示“用户登录和用户注销”,而其余结果保持不变。我看着-split,但不确定如何实现。任何帮助将不胜感激!
答案 0 :(得分:0)
您可以使用split。这将创建一个新属性condensedmessage
,该属性将使用message
值,通过在空间上拆分来创建数组,然后获取前两个元素,然后将它们与一个空格连接...如果需要的话,可以使用!< / p>
Select-Object leveldisplayname, TimeCreated,id, message, ProviderName,@{n="condensedmessages";e={($_.message).Split(" ")[0..1] -join " "}}