Ci sono alcuni nuovi colpi di scena se si va a interrogare eventi dal nuovo stile EventLog di Windows.
- È necessario utilizzare le classi dallo spazio dei nomi System.Diagnostics.Eventing.Reader per leggere i nuovi eventi.
- La query sarà in formato Xpath, in modo che la temporizzazione sia complessa, vedere msdn per EventLogQuery definition.
- Il programma verrà eseguito in problemi di accesso, essere pronti a impersonare un utente che è incluso nel gruppo di annunci EventReaders sulla macchina di registrazione.
Questo esempio mostra alcuni dei nuovi metodi di accesso, applausi.
string eventID = "5312";
string LogSource = "Microsoft-Windows-GroupPolicy/Operational";
string sQuery = "*[System/EventID=" + eventID + "]";
var elQuery = new EventLogQuery(LogSource, PathType.LogName, sQuery);
var elReader = new System.Diagnostics.Eventing.Reader.EventLogReader(elQuery);
List<EventRecord> eventList = new List<EventRecord>();
for (EventRecord eventInstance = elReader.ReadEvent();
null != eventInstance; eventInstance = elReader.ReadEvent())
{
//Access event properties here:
//eventInstance.LogName;
//eventInstance.ProviderName;
eventList.Add(eventInstance);
}
fonte
2010-03-17 16:43:28
Grazie Kellie .. Ha aiutato – satya
come ottenere evento con date date? query = "* [Sistema [" + "(Provider/@ Nome = \" Microsoft Office 15 Alerts \ ") e" + // "(EventID = 300) e" + "(TimeCreated/@ SystemTime > = \ "" + t1 + "\") e "+ " (TimeCreated/@ SystemTime < = \ "" + t2 + "\") "+ "]] "; Sto ottenendo un'eccezione di query –