我正在尝试使用Get-Winevent从特定用户收集特定的eventID,像这样:
$UserID=Get-ADUser -Identity Administrator | Select-Object -Property "SID"
Get-WinEvent Microsoft-Windows-TerminalServices-RDPClient/Operational |
Where-Object {$_.ID -match "1102" -and $_.UserId -match $UserID} | Format-List -Property *
问题:当我与$UserID比较时,我没有得到结果。如果我与实际的SID比较,我得到了我想要的结果。我已经尝试了我能找到或想到的每一个比较器,所以我想我在这里错过了一些基本的东西,但我不知道是什么,我想学习。非常感谢您的帮助!
找到了解决方案,我必须通过使用$USERID来指定我需要从$USERID中获得的属性。SID。
如果为get-winevent使用一个filterhashtable,这可能会有效并且更快。我没有在名为data的xml文件中看到userid。
$UserID = Get-ADUser Administrator | % sid
Get-WinEvent @{logname = 'Microsoft-Windows-TerminalServices-RDPClient/Operational';
id = 1102} | ? userid -eq $userid