作为研究的一部分,我需要收集公司所有员工的工作时间。我没有执行他们电脑的代码,但我可以从他们的电脑上收集任何类型的事件日志。
我需要确定用户何时登录(开始会话)以及会话何时结束。
我相信这与Security.evtx
日志有关。
经过一番谷歌搜索后,我发现我可以通过以下方式确定会话启动(登录)4624
事件日志 ID,所以这部分相当简单。当我试图找出用户会话何时关闭时,问题就出现了。
我发现有 3 个主要原因可能导致会话断开 -
- 屏幕超时然后电脑自动锁定。
- 手动 WinKey + L。
- 系统关机/睡眠(根据安全日志这部分很容易确定)。
经过谷歌搜索,我发现相关事件 IDlogoff
是4634,但查看了我的安全日志后,我发现这是非常常见的日志,而且没有什么指示意义,例如 - 当我解锁我的窗口时,出现 2 个 4624 日志,然后出现一个 4634 日志(??)而没有任何原因。
因此,经过更多的谷歌搜索后,我发现我可以 WinKey + L
用4647事件 ID。
经过大量的研究和谷歌搜索,我仍然没有找到一个解决方案来找出用户会话何时超时并且桌面自动锁定...而且这部分非常重要,因为工作人员从不锁定他们的计算机,只是将其打开,经过一段时间超时(15分钟+-)后,计算机会自动锁定,我需要弄清楚如何从事件日志中看到这一点(我的想法之一是检查是否有关于LogonUI.exe
创建的日志,但不幸的是默认审核配置没有显示这样的日志。
有什么想法我如何从事件日志中看到用户何时空闲且桌面自动锁定?
我可以获取任何事件日志,但无法更改审计配置,也无法在他们的计算机上执行代码。
答案1
即使您无法记录何时LogonUI.exe
出现,您也可以观察它触发的安全事件。具体来说,当锁定屏幕出现时,它会枚举每个本地用户的本地组成员身份。因此,您可以查找带有名为值的Data
标签的事件 4798 ,以识别锁定屏幕何时显示。CallerProcessName
C:\Windows\System32\LogonUI.exe
不幸的是,如果不活动的用户有屏幕保护程序,则锁定屏幕将不会显示,直到计算机被唤醒。在此之前,安全日志中不会出现任何事件。Microsoft-Windows-Winlogon/Operational
但是,至少在 Windows 10 Pro/Enterprise 上,日志默认启用,并记录许多相关事件。方便的是,它是登录会话方面的,比安全日志跟踪的令牌级别更高。事件以开始/结束对的形式出现,因此您可以过滤到事件 811 或 812。UserID
标准Security
标签下的属性System
提供受影响用户的 SID。Data
名为的标签Event
指定会话事件类型:
- 登录
- 注销
- 锁定(无论自动或手动)
- 开锁
- 屏幕保护程序启动
- 屏幕保护程序停止
如果有屏幕保护程序,则在检测到不活动时将记录会话事件 6,当计算机唤醒到锁定屏幕时将记录事件 7 和事件 4,除非用户在几秒钟的宽限期内唤醒计算机,在这种情况下只会记录事件 7,并且计算机不会锁定。如果没有屏幕保护程序,则在检测到不活动且计算机锁定时将立即记录事件 4。