我需要捕获 Win Srv 2012 域用户的登录和注销时间(如果可能的话,还包括睡眠和唤醒时间),并将其插入到 SQL 表中以构建显示用户工作时间的报告。所有工作站都装有 Win 7 Pro 并在本地工作(不通过终端服务)。由于工作站数量众多,我更希望将每个脚本/策略都放在服务器上。
任何帮助都感激不尽。
问候,Przemek
答案1
有一个解决方案可以满足您的需求:
1- 在客户端上使用 hids 软件代理将事件记录到服务器。需要在客户端上安装、配置服务器,没有 vpn 等则无法在外面工作。(Ossec 或其他 siem/hids 工具可以完成这项工作)
2- 使用 Windows 审核功能集中管理所有事件。此操作无需客户端工具。您只需运行脚本/gpo 并配置将安全日志发送到集中服务器即可。请看这个:http://www.windowsecurity.com/articles-tutorials/authentication_and_encryption/Centralized-Auditing-here-FREE.html
之后,您需要一些脚本来读取集中服务器中的审计日志并写入数据库。
有 Nxlog、Snare 等工具可以完成这项工作(读取事件日志并格式化为 syslog)。logstash 可以读取 syslog 并写入数据库(nosql 数据库或 sql 数据库)。
也有商业软件可以做到这一点,但这里不是讨论这个的地方(谷歌搜索商业产品)。
答案2
您可以使用获取 ADComputer
Get-ADComputer -identity <machineName> -Properties * | FT Name, LastLogonDate
machineName = 目标机器名称