powershell - Get-WinEvent 仅获取交互式登录消息

标签 powershell powershell-2.0

我试图让这个 PS 脚本从多台机器上提取安全日志,并且只搜索事件 ID 4624,并且只显示包含“登录类型:2”或交互式登录的日志。除了仅获取那些仅用于交互式登录的日志的部分外,我还有其他所有工作。这是我的脚本片段,如果有人知道如何实现这一点,我们将不胜感激。如果我从“登录类型”中取出 2,它就可以工作并且我得到了所有东西,但是如果我之后有任何东西,它不会引发任何错误,但它也不会产生结果。是的,我已经确认我在过滤的时间范围内有交互式登录事件。谢谢。

$服务器; Get-WinEvent -computername $server -FilterHashTable @{Logname=$logname;ID=$eventid;StartTime=$starttime;EndTime=$endtime} |其中 { $_.Message |选择字符串“登录类型:2”

蒂姆

最佳答案

为了获得最佳速度,您应该像这样通过 Xpath 进行过滤:

Get-WinEvent -ProviderName 'Microsoft-Windows-Security-Auditing' -FilterXPath "*[System[EventID=4624] and EventData[Data[@Name='LogonType']='2']]" -MaxEvents 1

关于powershell - Get-WinEvent 仅获取交互式登录消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4393437/

相关文章:

arrays - 用PowerShell上另一个数组中的元素替换数组中的元素

windows - 如何使用 power shell 确定当前 Windows 用户是否对特定文件具有写入权限

performance - 在 V2 中加速 PowerShell 脚本?

powershell-2.0 - 将文件复制到 lastwritetime -ge 3/26/2010 9 :00pm with Powershell

powershell - [System.Object[]] 不包含名为 'replace' 的方法

excel - 从特定 Outlook 文件夹中提取 .xls 文件的 PowerShell 脚本

xml - 需要使用 Xpath 替换 XML 文件中的属性值

node.js - 如何在 Windows 上使用 nodemon 设置 NODE_ENV=production?

powershell - 从cmd命令到Powershell获取正确的变量状态

powershell - 选择对象省略了选择字符串Powershell的输出