编写ETW事件日志

时间:2017-07-10 20:04:04

标签: c# powershell etw

我需要在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会抱怨此文件夹的提供者已经注册(这是有道理的)。 那么最好的解决方法是什么?如何生成某些现有提供商的活动?

1 个答案:

答案 0 :(得分:0)

与它斗争了一段时间后,终于想出来以防万一有人面临同样的问题。

我从未找到过使用现有提供商的方法。相反,我生成了清单文件并用它来卸载现有的提供程序:

wevtutil.exe -um $manifestfile

之后,可以安装新的,即生成我需要的事件的那个,没有任何错误: wevtutil.exe -im $manifestfile /mf:$dllfile /rf:$dllfile

显然,如果你这样做,现有的日志就会停止工作。