Прочитать записи просмотра событий
Я хочу прочитать записи о событиях из определенного пользовательского журнала событий в программе на C# и отфильтровать их по их описанию. Есть ли способ сделать это? Или способ получить записи как коллекцию, чтобы я мог выбрать из этого по условию?
1 ответ
Решение
Попробуйте что-то вроде этого:
string queryString = string.Format("*[System[TimeCreated[@SystemTime>='{0}' and @SystemTime<='{1}']]]",
DateTime.Now.Date.AddDays(-10).ToString("s"),
DateTime.Now.Date.ToString("s"));
var q = new EventLogQuery("Microsoft-Windows-User Profile Service/Operational", PathType.LogName, queryString);
var r = new EventLogReader(q);
var list = new List<EventRecord>();
EventRecord er = r.ReadEvent();
while (er != null) {
list.Add(er);
er = r.ReadEvent();
}
Фильтр есть XPath
а также XQuery
, Если вы хотите узнать о внутренней структуре событий, я нашел, что лучше всего прочитать определение фильтра в eventvwr
, Заглянуть в XML
... цвет вкладка