C# 获取Windows系统日志中用户登录登出记录

#秋日生活打卡季#

可以使用System.Diagnostics命名空间中的EventLog类,结合使用EventLogEntryType枚举来过滤事件类型,获取Windows系统日志中的用户登录和登出记录。

获取用户登录和登出记录示例:

using System;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        // 指定要访问的日志名称(例如:Security)
        string logName = "Security";

        // 创建EventLog对象
        EventLog eventLog = new EventLog(logName);

        // 遍历日志中的事件
        foreach (EventLogEntry entry in eventLog.Entries)
        {
            // 过滤事件类型为登录和登出
            if (entry.EntryType == EventLogEntryType.SuccessAudit || entry.EntryType == EventLogEntryType.FailureAudit)
            {
                Console.WriteLine(#34;Event ID: {entry.EventID}");
                Console.WriteLine(#34;Source: {entry.Source}");
                Console.WriteLine(#34;Message: {entry.Message}");
                Console.WriteLine();
            }
        }
    }
}

需要以管理员身份运行此代码,以便访问系统日志。

可以根据需要更改日志名称(logName)来访问其他日志,如Application、System等。

C#获取Windows系统日志中用户登录登出记录