यदि आप नई शैली विंडोज इवेंट लॉग से ईवेंट पूछने जा रहे हैं तो कुछ नए मोड़ हैं।
- आपको सिस्टम से कक्षाओं का उपयोग करना होगा। डायग्नोस्टिक्स.इवेंटिंग। रीडर नामस्थान नई घटनाओं को पढ़ने के लिए।
- आपकी क्वेरी एक्सपैथ फॉर्म में होगी, ताकि टाइमरेज मुश्किल हो, EventLogQuery definition के लिए msdn देखें।
- आपका प्रोग्राम एक्सेस समस्याओं में भाग लेगा, लॉगिंग मशीन पर 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);
}
स्रोत
2010-03-17 16:43:28
धन्यवाद केल्ली .. इससे – satya
मदद की गई तारीखों के साथ ईवेंट प्राप्त करने में मदद मिली? क्वेरी = "* [सिस्टम [" + "(प्रदाता/@ नाम = \" माइक्रोसॉफ्ट ऑफिस 15 अलर्ट \ ") और" + // "(EventID = 300) और" + "(टाइमक्रेटेड/@ सिस्टमटाइम > = \ "" + टी 1 + "\") और "+ " (टाइमक्रेटेड/@ सिस्टमटाइम < = \ "" + टी 2 + "\") "+ "]] "; मुझे क्वेरी अपवाद मिल रहा है –