2016-07-16 9 views
0

Я получаю всю информацию из журнала безопасности Windows и просмотра событий, связанных с входом в систему и выходом из системы, но я хочу только самую последнюю информацию о событиях в логах из любой информации, можете ли вы применить какой-либо linq для этого, чтобы получить самую большую информацию о событии входа в систему.получить последние окна Startup Входные данные события из средства просмотра событий с помощью C#?

вот мой код, что я пытаюсь

 EventLog log = new EventLog() 
     { 
      Source = "Microsoft Windows security auditing.", 
      Log = "Security" 
     }; 
     foreach (EventLogEntry entry in log.Entries) 
     { 

      Console.WriteLine(entry.Message); 
     } 

вы можете сделать любой Еогеасп в лямбда базу, чтобы получить только событие входа, который является последним один

+1

Последнее событие всегда: 'log.Entries [log.Entries.Count - 1];'. Вам не нужно использовать foreach для этого, –

+0

, но только войдите в систему с его выходом из системы. –

ответ

0

Вот образец, чтобы получить последнюю «Logon (4624) "и" Специальный вход (4672) "

var log = new EventLog 
    { 
    Source = "Microsoft Windows security auditing.", 
    Log = "Security" 
    }; 
    var latestLogon = 
    log.Entries.Cast<EventLogEntry>() 
     .Where(entry => entry.InstanceId == 4624 || entry.InstanceId == 4672) 
     .OrderByDescending(i => i.TimeWritten) 
     .FirstOrDefault(); 
+0

У ВАС ЕСТЬ ЛИНИЯ КАК НАЧАТЬ СЕРВИС АВТОМАТИЧЕСКИ НА ПК RESTART ON LOGON C# –

+0

Возможно, это: http://stackoverflow.com/questions/ 1477618/how-do-i-change-a-windows-services-start-type-in-net-post-install –

+0

сделал это [начать сервис по ссылке win win] (http://stackoverflow.com/questions/ 5089601/run-the-application-at-windows-startup) –