Lesen Sie das Windows-Ereignisprotokoll mit C# (Quelle != ProviderName != SourceName)

Ich bin mit C# zu Lesen, das Windows-Ereignisprotokoll, und ich will wählen/filter-Einträge aus. Das problem ist, dass die Informationen in der Ereignisanzeige ist nicht immer passend zu den Daten, die ich von c#.

Beispiel:

EventViewer "Source": "User Profile Service"

Mithilfe der EventLogEntry-Klasse: Eigenschaft "Source": "Microsoft-Windows-User Profile Service"

Mithilfe der EventLogReader Klasse: Eigenschaft "ProviderName": "Microsoft-Windows-User Profile Service"

Mithilfe von WMI: "SourceName": "Microsoft-Windows-User Profile Service"

Ich muss in der Lage sein, um Lesen Sie die genauen Informationen in den EventViewer, wo bekomme ich diese Informationen aus?


Lesen Sie die EventLog-Meldung...

Beim Lesen der EventLog-Meldung über das EventLogEntry-Klasse, ich gelegentlich erhalten Sie die folgende Zeichenfolge:

Die Beschreibung für die Ereignis-ID "xxx" in-Source "xxx" nicht gefunden werden kann

Wieder, dies entspricht nicht der Meldung im EventViewer... ich habe versucht mit der EventLogReader.FormatDescription () - Methode und es gibt mir das Recht (der gleiche wie der EventViewer) Nachricht, ABER für einige Einträge, die es einfach gibt null zurück, während die EventLogEntry.Nachricht enthält den richtigen text.

Was ist der richtige Weg, um die Nachricht abzurufen von der Veranstaltung bekommen die gleiche Meldung wie angezeigt in den EventViewer?

Gehe mit @Gregory Einen Beamer, den ich vor allem Sachen in der log, aber teh .net-Klassen funktionierte wunderbar, sobald ich es herausgefunden. WMI, finde ich zweifelhaft.

InformationsquelleAutor flayn | 2012-01-11

Schreibe einen Kommentar