Ответ 1
Есть несколько новых поворотов, если вы собираетесь запрашивать события из нового стиля Windows EventLogs.
- Вам нужно будет использовать классы из
System.Diagnostics.Eventing.Reader
именSystem.Diagnostics.Eventing.Reader
для чтения новых событий. - Ваш запрос будет в форме Xpath, так что значение времени сложно, см. Msdn для определения
EventLogQuery
. - Ваша программа столкнется с проблемами доступа, будьте готовы выдать себя за пользователя, который включен в группу
EventReaders
AD на компьютере регистрации.
Этот пример показывает некоторые из новых методов доступа, ура.
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);
}