2017-04-04 101 views
0

我想创建一个小型控制台应用程序,该应用程序将具有倒数计时器。 我需要知道我第一次登录到Windows的时间戳。获取当天的第一次登录

我该怎么做? 我发现我可以使用WMIC:

wmic netlogin get lastlogon为了接收上次登录时间,但我想要第一次登录的一天。

+1

尝试搜索事件日志 –

回答

1

如果您有足够的权限,则可以使用System.Diagnostics.EventLog类。

登录事件存储在安全日志中,与事件ID = 4624(在.NET类EVENTID音符现在已经过时& INSTANCEID应该被使用。

你可以得到日志条目与下面的完整列表代码:

using System.Diagnostics; 
.... 
.... 
EventLog eventLogItem = new EventLog("Security"); 

您可以查询日志&提取物只是登录附件如下:

var sev = eventLogItem.Entries.Cast<EventLogEntry>().Where(ev => (ev.InstanceId == 4624)); 

您可以到这个限制只是你想要的东西,如用户:

var sev = eventLogItem.Entries.Cast<EventLogEntry>().Where(ev => (ev.InstanceId == 4624) 
    && (ev.Message.Contains(@"username"))); 

如果检查消息您可以改善过滤。然后您可以按生成时间&的顺序选择当天的最早时间。