Я прошел через все соответствующие темы, но ответа не нашел. Я запускаю запрос WMI для получения даты и времени самого старого события в журнале приложений. К сожалению, запрос ниже всегда возвращает 0 значений, но, по-видимому, синтаксис верен, потому что сообщение об ошибке не возвращается. Любая идея, почему это происходит? На самом деле встроенное решение C# загружает весь Eventviewer, и поскольку я подключаюсь к удаленным машинам, выступления ужасны. Поэтому я выбрал запрос WMIЗапрос WMI - найти старое событие регистрации приложения
SelectQuery query = new SelectQuery("select * from Win32_NtLogEvent where Logfile ='" + logFileName + "' and RecordNumber = '1'");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query, opt)) {
foreach (ManagementObject mo in searcher.Get()) {
DateTime firstEventTime;
DateTime.TryParseExact(mo["TimeGenerated"].ToString().Substring(0, 12), "yyyyMMddHHmm", null, DateTimeStyles.None, out firstEventTime);
// if the time of the first entry of the application log is older that the dayback to check date
// set dayback to check to first app log entry date
logbox.writetoLogFile(this.GetType().Name, "First event time is " + firstEventTime, LogLevel.Debug);
if (firstEventTime > endDate) {
endDate = firstEventTime;
logbox.writetoLogTextbox("First eventviewer entry has date " + firstEventTime + ". Check log will stop at this date", Color.Black);
logbox.writetoLogFile(this.GetType().Name, "First eventviewer entry has date " + firstEventTime + ". Check log will stop at this date", LogLevel.Info);
}
}
}
К сожалению, я понял это сейчас. Номер записи не сбрасывается, поэтому событие 1 исчезло с возрастов. :(Любая идея, как я мог бы собрать эту информацию?
Спасибо, Marco