我需要在Windows事件日志中写入一些ETW条目。例如,我需要在应用程序和服务日志/ Microsoft / Windows / AAD(或任何其他文件夹中)生成一些事件,并不重要。
在PowerShell中的 New-winevent
就是这样,但速度太慢了。
我也尝试过这个 https://blogs.msdn.microsoft.com/dotnet/2013/08/09/announcing-the-eventsource-nuget-package-write-to-the-windows-event-log/ 它可以快速地将事件生成到任何文件夹中,但我认为没有明显的方法可以将事件生成为现有提供者。如果我尝试注册一个新文件夹,wevtutil会抱怨此文件夹的提供者已经注册(这是有道理的)。 那么最好的解决方法是什么?如何生成某些现有提供商的活动?
答案 0 :(得分:0)
与它斗争了一段时间后,终于想出来以防万一有人面临同样的问题。
我从未找到过使用现有提供商的方法。相反,我生成了清单文件并用它来卸载现有的提供程序:
wevtutil.exe -um $manifestfile
之后,可以安装新的,即生成我需要的事件的那个,没有任何错误:
wevtutil.exe -im $manifestfile /mf:$dllfile /rf:$dllfile
显然,如果你这样做,现有的日志就会停止工作。