按用户名而不是 sid 过滤日志
filter logs by username instead of sid
我想过滤特定用户名的一些日志。在事件查看器中,您可以在提到的字段中输入用户名,它将过滤您的日志。但我想使用 cmd ( wevtutil ),所以我应该使用 xml 查询来过滤我的日志。但是问题就出现在这里。在 xml 查询中,您只能输入要查找的用户的 sid(在 system[security[@Userid]]] 中)。
是否有可能以某种方式使用用户名而不是 sid?
1
2
备注:
在事件查看器中,当您输入用户名时,它将用户名转换为 sid 并在其 xml 查询中使用 sid。我不知道它是怎么发生的。
我应该在这里提一个注意事项:
有些人建议我使用“目标用户名”来过滤我的日志。但这不是我要找的。 “目标用户名”只处理登录日志。
您可以只使用用户名来检索他们的 SID,以便在您的 wevtutil
命令中使用。
从命令提示符,(cmd):
For /F %G In ('%SystemRoot%\System32\wbem\WMIC.exe UserAccount Where "Name='KnownUserName'" Get SID 2^>NUL ^| %SystemRoot%\System32\find.exe "-"') Do @%SystemRoot\System32\wevtutil.exe CommandLineOptions
您只需替换 KnownUserName
和 CommandLineOptions
,并将其 SID 替换为 %G
。
或来自 batch-file:
@For /F %%G In ('%SystemRoot%\System32\wbem\WMIC.exe UserAccount Where
"Name='KnownUserName'" Get SID 2^>NUL ^| %SystemRoot%\System32\find.exe "-"'
) Do @%SystemRoot\System32\wevtutil.exe CommandLineOptions
显然你会再次替换 KnownUserName
和 CommandLineOptions
,这次用 %%G
.
替换它们的 SID
我想过滤特定用户名的一些日志。在事件查看器中,您可以在提到的字段中输入用户名,它将过滤您的日志。但我想使用 cmd ( wevtutil ),所以我应该使用 xml 查询来过滤我的日志。但是问题就出现在这里。在 xml 查询中,您只能输入要查找的用户的 sid(在 system[security[@Userid]]] 中)。 是否有可能以某种方式使用用户名而不是 sid?
1 2
备注: 在事件查看器中,当您输入用户名时,它将用户名转换为 sid 并在其 xml 查询中使用 sid。我不知道它是怎么发生的。
我应该在这里提一个注意事项: 有些人建议我使用“目标用户名”来过滤我的日志。但这不是我要找的。 “目标用户名”只处理登录日志。
您可以只使用用户名来检索他们的 SID,以便在您的 wevtutil
命令中使用。
从命令提示符,(cmd):
For /F %G In ('%SystemRoot%\System32\wbem\WMIC.exe UserAccount Where "Name='KnownUserName'" Get SID 2^>NUL ^| %SystemRoot%\System32\find.exe "-"') Do @%SystemRoot\System32\wevtutil.exe CommandLineOptions
您只需替换 KnownUserName
和 CommandLineOptions
,并将其 SID 替换为 %G
。
或来自 batch-file:
@For /F %%G In ('%SystemRoot%\System32\wbem\WMIC.exe UserAccount Where
"Name='KnownUserName'" Get SID 2^>NUL ^| %SystemRoot%\System32\find.exe "-"'
) Do @%SystemRoot\System32\wevtutil.exe CommandLineOptions
显然你会再次替换 KnownUserName
和 CommandLineOptions
,这次用 %%G
.