C #: как запросить данные журнала событий с данным идентификатором события?

  1. Как узнать, зарегистрировано ли какое-либо событие (заданный идентификатор события, время и узел как входы) или нет? [В этом случае я знаю, что будет зарегистрировано только одно событие]
  2. Если событие регистрируется, как мне получить информацию, такую ​​как описание события, имя журнала и т. Д.

например, я хочу запросить событие под узлом Журналы приложений и служб> Microsoft> Windows> groupPolicy> Operational, а идентификатор события – 5315, а время – текущее время.

Есть несколько новых поворотов, если вы собираетесь запрашивать события из нового стиля Windows EventLogs.

  1. Вам нужно будет использовать classы из пространства имен System.Diagnostics.Eventing.Reader для чтения новых событий.
  2. Ваш запрос будет в форме Xpath, так что таймер будет сложным, см. Msdn для определения EventLogQuery .
  3. Ваша программа столкнется с проблемами доступа, будьте готовы олицетворять пользователя, входящего в группу AdReaders 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 eventList = new List(); for (EventRecord eventInstance = elReader.ReadEvent(); null != eventInstance; eventInstance = elReader.ReadEvent()) { //Access event properties here: //eventInstance.LogName; //eventInstance.ProviderName; eventList.Add(eventInstance); } 

Вы можете запросить журнал событий:

 var sourceName = "MySource"; var el = new EventLog("Application"); var latestEntryTime = (from entry in el.Entries.Cast() where entry.Source == sourceName && // put other where clauses here... orderby entry.TimeWritten descending select entry).First(); 

Однако следует предупредить, что этот подход медленный , поскольку коллекция Entries имеет тенденцию быть довольно большой.

  • Выделить событие с текстовым полем?
  • Android Spinner: Получить выбранное событие изменения элемента
  • Делегирование: EventEmitter или Наблюдаемое в Угловом
  • .NET Events - Что такое отправитель объекта и EventArgs?
  • Как изменить Form1 label.text при установке флажка на form2?
  • Когда происходит событие «размытия», как я могу узнать, какой элемент фокуса пошел * на *?
  • jQuery скрыть элемент при нажатии в любом месте страницы
  • Как добавить событие в UserControl в C #?
  • Как можно удалить все обработчики событий события «Click» кнопки «Button»?
  • Отслеживание положения прокрутки и уведомление об этом других компонентах
  • Как захватить щелчок мышью по элементу в ListBox в WPF?
  • Давайте будем гением компьютера.