2015-04-19 22 views
5

Sto utilizzando sysmon per acquisire una serie di informazioni sugli eventi (connessioni di rete, carichi DLL, ecc.). Voglio estrarre quell'informazione e usarla per vari scopi, ma non sembra che ci sia un modo per recuperare i log annidati. Risiedono alC# - Leggi registro eventi nidificati dall'applicazione personalizzata

Tutto il codice che ho provato richiama solo i registri eventi "standard". Per esempio:

EventLog[] eventLogs = EventLog.GetEventLogs(); 

ha "Applicazione", "hardware Eventi", "Internet Explorer", ecc

Io so come creare e recuperare i log degli eventi personalizzati, ma che non sembra applicarsi qui, poiché questi registri non si trovano nelle posizioni standard. Qualsiasi aiuto tu possa fornire sarebbe molto apprezzato!

+1

Vorrei provare a guardare lo spazio dei nomi 'System.Diagnostics.Eventing.Reader'. Ha un'API molto più ricca per ottenere i log degli eventi. 'EventLogSession.GetLogNames' restituisce una lista molto più grande di' EventLog.GetEventLogs'. –

+0

^^ Questo è ESATTAMENTE quello che stavo cercando. Grazie mille :) Se rispondi, lo segnerò. – adamdabbracci

risposta

3

Dai uno sguardo allo spazio dei nomi System.Diagnostics.Eventing.Reader. In particolare, è possibile ottenere un elenco completo dei nomi di registro da:

EventLogSession.GlobalSession.GetLogNames() 

Questo ha una lista molto più completo rispetto EventLog.GetEventLogs(). Altre classi utili in questo spazio dei nomi sono EventLogReader e EventLogWatcher.