如何获取任务计划程序中触发任务的登录用户名

如何获取任务计划程序中触发任务的登录用户名

在 Windows 7 任务计划程序中,我有一个在任何用户登录时运行的任务。此任务以管理员身份运行,因此它可以获取适当的权限并运行 bat 文件。

我想将触发任务的登录用户的用户名 (userid) 传递给 bat 文件。我需要使用管理员帐户运行 bat 文件,这会导致环境变量 USERNAME 设置为管理员,而不是登录的用户名。

如何获取导致触发任务的登录用户的用户 ID?

答案1

这不是理想的选择,但您可以有一个单独的任务,只同时将用户名写入日志文件,稍后再关联日志。就此而言,由于任务在登录时运行,因此这些信息已在事件日志中可用。如果您真的不想稍后关联它们,您可以向现有任务添加代码(或步骤)以提取最新的登录事件。

登录事件日志

仔细查看我自己的日志后,我发现您需要事件 ID 4624,但仅限于登录类型为 2 或 7 的情况。我看到系统帐户执行各种操作时出现了许多登录类型 5 事件。这里有更多信息:

http://www.windowsecurity.com/articles-tutorials/misc_network_security/Logon-Types.html

相关内容