0

我正在从 Windows 安全日志和事件查看器中获取与登录和注销相关的所有信息,但我只想要所有信息中的最新登录事件信息,您能否在其上应用一些 linq 以获得最重要的启动登录事件信息

这是我正在尝试的代码

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

            Console.WriteLine(entry.Message);
        }

您可以在 lambda 基础中进行任何 foreach 以仅获取最新的登录事件吗

4

1 回答 1

1

这是获取最新“登录(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();
于 2016-07-16T10:13:24.947 回答