我需要在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会报告这个文件夹的提供者已经注册了(这是有道理的)。那么解决这个问题的最好方法是什么呢?作为一些现有的提供程序,如何生成事件?
发布于 2017-07-13 14:45:53
在与它斗争了一段时间后,终于弄清楚了,以防有人面临同样的问题。
我从来没有找到一种使用现有提供者的方法。相反,我生成了清单文件并使用它来卸载现有的提供程序:
wevtutil.exe -um $manifestfile
在那之后,我需要的生成事件的新程序就可以安装了,没有任何错误:wevtutil.exe -im $manifestfile /mf:$dllfile /rf:$dllfile
显然,如果您这样做,现有的日志将停止工作。
https://stackoverflow.com/questions/45020659
复制相似问题