使用正则表达式仅过滤 windows 事件日志中的第二个帐户名称
Filtering only second Account Name in windows event log using a regex
有谁知道从 Windows 事件日志中仅过滤第二个帐户名称的 reqex 语法?我不想要我得到的第一个帐户名称,但提到的第二个帐户名称是已删除的帐户,这就是我有兴趣了解的内容。
我可以同时使用这两个帐户,但我真的希望只有第二个帐户
示例:
<13>May 23 15:11:00 14.5.15.1 AgentDevice=WindowsLog AgentLogFile=Security Source=Microsoft-Windows-Security-Auditing Computer=john.doe User= Domain= EventID=4726 EventIDCode=4726 EventType=8 EventCategory=13824 RecordNumber=4156926121 TimeGenerated=1472042299838 TimeWritten=1472048832838 Message=A user account was deleted. Subject: Security ID: S-1-5-21-37618230-746332178-285459281-20341 Account Name: AdminGuy Account Domain: Some Logon ID: 0x2q45w29b1 Target Account: Security ID: S-1-5-21-37438650-746321018-288529281-12311 Account Name: JohnDoe Account Domain: Some Additional Information: Privileges -
\sAccount\sName\:\s(.*?)\
这只是提取两个帐户名称的一个示例。但是有谁知道如何只提取第二个帐户名称?
在上面的示例中,第二个帐户名称将是帐户名称:
JohnDoe
也许使用类似这样的东西:
\sAccount\sName:\s.*\sAccount\sName:\s([^\s]*)\
这是模式:
(?ms)Account\s+Name.*?(Account\s+Name:\s+)(\w+)
但是你需要收集捕获括号。在此正则表达式中,帐户名位于组号中。 2. 您使用的 language/library 为您提供了一种访问捕获括号捕获文本的方法。
对于 Graylog,这是正确的正则表达式:
Account Name:.*?Account Name:(\s*(\S*))
有谁知道从 Windows 事件日志中仅过滤第二个帐户名称的 reqex 语法?我不想要我得到的第一个帐户名称,但提到的第二个帐户名称是已删除的帐户,这就是我有兴趣了解的内容。
我可以同时使用这两个帐户,但我真的希望只有第二个帐户
示例:
<13>May 23 15:11:00 14.5.15.1 AgentDevice=WindowsLog AgentLogFile=Security Source=Microsoft-Windows-Security-Auditing Computer=john.doe User= Domain= EventID=4726 EventIDCode=4726 EventType=8 EventCategory=13824 RecordNumber=4156926121 TimeGenerated=1472042299838 TimeWritten=1472048832838 Message=A user account was deleted. Subject: Security ID: S-1-5-21-37618230-746332178-285459281-20341 Account Name: AdminGuy Account Domain: Some Logon ID: 0x2q45w29b1 Target Account: Security ID: S-1-5-21-37438650-746321018-288529281-12311 Account Name: JohnDoe Account Domain: Some Additional Information: Privileges -
\sAccount\sName\:\s(.*?)\
这只是提取两个帐户名称的一个示例。但是有谁知道如何只提取第二个帐户名称?
在上面的示例中,第二个帐户名称将是帐户名称:
JohnDoe
也许使用类似这样的东西:
\sAccount\sName:\s.*\sAccount\sName:\s([^\s]*)\
这是模式:
(?ms)Account\s+Name.*?(Account\s+Name:\s+)(\w+)
但是你需要收集捕获括号。在此正则表达式中,帐户名位于组号中。 2. 您使用的 language/library 为您提供了一种访问捕获括号捕获文本的方法。
对于 Graylog,这是正确的正则表达式:
Account Name:.*?Account Name:(\s*(\S*))