Windows:“查询用户”命令报告的空闲时间不准确(误报)

soj*_*ade 6 batch-file windows-command-prompt

我正在与其他十个系统管理员一起工作,他们有时会忘记注销服务器(甚至锁定它们)。两天或更长时间以来,我一直试图想出一个“脚本”来检查我们管理的每台服务器是否有空闲的管理员帐户。如果它们闲置超过两天,我打算将它们注销(而不是锁定它们)。

如果我可以依靠命令“查询用户”,这将是一个完成的项目。但不幸的是,我似乎不能依赖该命令。以下是随机服务器的一些示例输出:

 USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
 techyellow            console             4  Active      none   1/18/2017 10:35 AM
Run Code Online (Sandbox Code Playgroud)

TechYellow 从 2017 年 1月 19 日开始休假 - 现在已经闲置了近四天。如果我启动 VNC 会话,我可以看到 - 就像白天一样 - Windows 已登录,我可以使用 TechYellow 的帐户做任何我想做的事情;它甚至没有被锁定。然而,我的查询认为 TechYellow 是Active。我已经确认即使帐户被锁定也是如此 - 它仍然经常报告活动。这只是一个示例 - 我一直在多台服务器上测试此命令,我发现对于各种不同的管理员帐户,它提供错误结果的频率高于正确结果。

有更好的替代Query User吗?我看了高低,但我发现的一切都回到了类似的命令,这些命令都报告错误。

我只是想看看管理员是否已登录并且闲置了两天或更长时间。就是这样!过去有人征服过这个吗?