2015-04-19 11 views
5

Ich verwende sysmon, um eine Reihe von Ereignisinformationen (Netzwerkverbindungen, DLL-Ladevorgänge usw.) zu erfassen. Ich möchte diese Informationen abrufen und für verschiedene Zwecke verwenden, aber es scheint keine Möglichkeit zu bestehen, die verschachtelten Protokolle abzurufen. Sie befinden sich beiC# - Verschachteltes Ereignisprotokoll von benutzerdefinierter Anwendung lesen

Event Viewer/Applications and Services/Microsoft/Windows/Sysmon/Operational 

Der gesamte Code, den ich ausprobiert habe, zieht nur die "Standard" Event Logs. Zum Beispiel:

EventLog[] eventLogs = EventLog.GetEventLogs(); 

hat „Application“, „Hardware-Events“, „Internet Explorer“ usw.

Ich weiß, wie zu erstellen und benutzerdefinierte Ereignisprotokolle abrufen, aber das scheint nicht gelten hier, da diese Protokolle nicht in den Standardpositionen sind. Jede mögliche Hilfe, die Sie zur Verfügung stellen können, würde sehr geschätzt werden!

+1

Ich würde versuchen, den Namespace 'System.Diagnostics.Eventing.Reader' zu betrachten. Es hat eine viel reichhaltigere API zum Abrufen von Ereignisprotokollen. 'EventLogSession.GetLogNames' gibt eine viel größere Liste als 'EventLog.GetEventLogs' zurück. –

+0

^^ Das ist genau das, was ich gesucht habe. Vielen Dank :) Wenn Sie antworten, werde ich es markieren. – adamdabbracci

Antwort

3

Werfen Sie einen Blick auf den Namespace System.Diagnostics.Eventing.Reader. Insbesondere können Sie eine vollständige Liste der Log-Namen aus erhalten:

EventLogSession.GlobalSession.GetLogNames() 

Dies hat eine viel längere Liste als EventLog.GetEventLogs(). Andere nützliche Klassen in diesem Namensraum sind EventLogReader und EventLogWatcher.

Verwandte Themen