为特定内容解析Evtx文件的最有效方法

2024-05-15 19:14:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有数百个geg的Evtx安全事件日志,我想根据事件id解析特定的事件id(4624)和用户名(joe)。我尝试使用如下Powershell cmdlet:

get-winevent -filterhashtable @{Path="mypath.evtx"; providername="securitystuffprovider"; id=4624} 

我知道我可以将一个包含列表的变量传递给我所有的evtx文件的Path参数,但是我无法基于evtx消息的子集进行过滤。而且,仅解析一个Evtx文件就需要花费相当长的时间,远远少于150个左右。我知道有一个python包来解析Evtx,但我不确定这会是什么样子,因为python Evtx解析器没有提供导入和使用包本身的好例子。我无法将所有数据提取到csv中,因为那样会占用太多的磁盘空间。有什么好主意吗。谢谢。在


Tags: 文件pathidget事件用户名joepowershell
1条回答
网友
1楼 · 发布于 2024-05-15 19:14:11

-Path-FilterXPath参数一起使用,然后使用XPath表达式进行筛选,如下所示:

$Username = 'jdoe'
$XPathFilter = "*[System[(EventID=4624)] and EventData[Data[@Name='SubjectUserName'] and (Data='$Username')]]"

Get-WinEvent -Path C:\path\to\log\files\*.evtx -FilterXPath $XPathFilter

相关问题 更多 >