我最近使用ETW从内置提供程序收集事件,我使用logman来消费事件并将其保存到一个.etl文件中,如下所示:
logman create trace evt -p Microsoft-Windows-RPC -ets
......做了手术之后
logman stop evt -ets
然后我得到了一个evt.etl文件,其中包含来自这个提供程序的事件。
PS > Get-WinEvent -Path .\evt.etl -Oldest | Select-Object Id, Message
Id Message
---------
0
5 Client RPC call started. InterfaceUuid: {e60c73e6-88f9-11cf-9af1-0020af6e72f4} OpNum: 0x8 Protocol: LRPC N...
4 RPC Log Event. ...
...
但是,当我对“Microsoft-Windows-Security-Auditing”执行同样的操作时,在停止会话后,evt.etl文件中什么也没有。
PS > logman start trace evt -p Microsoft-Windows-Security-Auditing -ets
The command completed successfully.
然后注销并登录以生成事件
PS C:\Advs> logman stop evt -ets
The command completed successfully.
但是我在生成的evt.etl文件中什么也没有得到。
PS \> Get-WinEvent -Path .\evt.etl -Oldest
Get-WinEvent : No events were found that match the specified selection criteria.
At line:1 char:1
+ Get-WinEvent -Path .\\evt.etl -Oldest
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (:) [Get-WinEvent], Exception
+ FullyQualifiedErrorId : NoMatchingEventsFound,Microsoft.PowerShell.Comma
nds.GetWinEventCommand`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
但是,我可以在eventvwr中看到事件,在“Windows日志”-“安全”中,事件详细信息显示它们的来源是“Microsoft-Windows-Security-Auditing”。
System
Provider
[ Name] Microsoft-Windows-Security-Auditing
[ Guid] {54849625-5478-4994-A5BA-3E3B0328C30D}
...
我找了一些解决办法,但都不管用。
Using "Microsoft Windows Security Auditing" provider in real-time consumer with ETW (Event Tracing for Windows)
https://serverfault.com/questions/599169/how-can-i-get-sesecurityprivilege-enabled
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/2fb8b309-e205-4362-9345-75fe4a13fc92/rule-setup-account-privileges-failed-on-sql-server-2008-sp-3?forum=sqlsetupandupgrade
一个三个...
我想这可能是一个特权问题,所以我咨询了上面的问题,作为系统运行,并启用了我的SeSecurityPrivilege(以及列出的所有其他特权)。
PS \> whoami
nt authority\\system
PS \> whoami /priv
...
SeSecurityPrivilege Manage auditing and security log Enabled
... Enabled
# All privileges enabled
但是做完这些之后,我还是没有得到任何事件。
这是一台Windows Server 2012 R2机器。失败后我在另一台Windows 10机器上尝试了完全相同的方法,得到了相同的结果。
谢谢你的帮助。
1条答案
按热度按时间wlwcrazw1#
多亏了我的导师,他给了我解决办法。
原来这个提供程序是受保护的,只有Windows创建的跟踪才能从它读取。不能用它创建跟踪,但可以打开Windows创建的现有跟踪。另外,需要以SYSTEM身份运行。
参考: