La lecture du Journal des Événements de Windows avec C# (Source != ProviderName != SourceName)

Je suis à l'aide de C# pour lire le Journal des Événements Windows et je veux choisir/filtre les entrées. Le problème est que les informations affichées dans l'Observateur d'Événements n'est pas toujours mise en correspondance des données que je reçois de c#.

par exemple:

EventViewer "Source": "Le Service De Profil Utilisateur"

À l'aide de la la classe EventLogEntry: la Propriété "Source": "Microsoft-Windows-Service de Profils Utilisateur"

À l'aide de la EventLogReader classe: Propriété "ProviderName": "Microsoft-Windows-Service de Profils Utilisateur"

À l'aide de WMI: "Source": "Microsoft-Windows-Service de Profils Utilisateur"

J'ai besoin d'être en mesure de lire les informations affichées dans l'EventViewer, où puis-je trouver cette information?


La lecture du Journal des événements de message...

Lors de la lecture du Journal des événements de message à l'aide de la la classe EventLogEntry je reçois parfois la chaîne suivante:

La description pour l'ID d'Événement "xxx" à la Source "xxx" ne peut pas être trouvé

Encore une fois, cela ne correspond pas au message affiché dans la EventViewer... j'ai essayé d'utiliser le EventLogReader.FormatDescription() la méthode et ça me donne le droit (le même que l'EventViewer) message, MAIS pour certaines entrées, il retourne simplement la valeur null, alors que le EventLogEntry.Message contient le texte correct.

Quelle est la bonne façon de récupérer le message de l'événement pour obtenir le même message que celui affiché dans l'EventViewer?

Aller avec @Gregory Un vidéo-Projecteur, j'ai surtout mis des trucs dans le journal, mais teh .net des classes a bien fonctionné une fois j'ai tout compris. WMI, j'ai trouvé pour être douteux.

OriginalL'auteur flayn | 2012-01-11