如何使用 C# 在事件查看器中获取所有提供程序的列表?

How to get List of all Providers in Event Viewer using C#?

我想使用 C# 获取事件查看器的所有提供程序名称。请参阅下面的示例提供程序

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
  <Provider Name="Microsoft-Team Foundation Server" Guid="{80761876-6844-47D5-8106-F8ED2AA8687B}" />!`<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
  <Provider Name="Microsoft-Team Foundation Server" Guid="{80761876-6844-47D5-8106-F8ED2AA8687B}" />

如何获取这些提供者列表?

像这样使用EventLogSession.GetProviderNames方法:

EventLogSession session = new EventLogSession();

var providers = session.GetProviderNames().ToList();