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