我的 Windows XP 工作计算机设置为允许多个用户同时登录和使用计算机。由于工作人员进行远程访问,我希望能够知道访问发生的时间和正在使用的程序。我想我正在寻找一个日志文件。
非常感谢任何建议。
拍
答案1
您可以创建一个带有登录/注销脚本的 GPO,以跟踪用户登录和注销的时间。您还可以使用 Visual Basic 脚本,或者甚至可能是批处理文件中的几个 wmic 命令,从安全事件日志中提取相同的信息,IIRC 会在用户登录和注销时将事件添加到其中。
至于获取正在运行的程序的信息,我自己从来没有这样做过,但是看看在此 TechNet 文章中解释了如何列出在 TS 会话下运行的进程,以及这篇其他 TechNet 文章描述如何列出正在运行的会话——后者看起来应该包括用户名,这可以省去您添加 GPO 或编写代码来消化安全日志的麻烦。
从外观上看,您可能只需创建一个包含以下内容的批处理文件
@echo off
date /t >> ts-log.txt
time /t >> ts-log.txt
query session >> ts-log.txt
query process * >> ts-log.txt
echo "" >> ts-log.txt
并创建一个计划任务,每五到十分钟运行一次,并满足您的所有需求 - 尽管我建议创建另一个任务来每天左右轮换该日志文件,并且可能只保留一周左右的内容,因为否则它可能会很快占用大量空间。
希望这可以帮助!