如何在命令行上判断系统是否处于“锁定”状态?

如何在命令行上判断系统是否处于“锁定”状态?

我已经浏览了百万个搜索结果,但都没有回答我的问题:

如何使用终端/cmd.exe 命令(或如果其他方法都失败,则使用 PowerShell cmdlet/脚本)确定计算机是否处于“锁定”状态?

我所说的“锁定”是指用户按下 WinKey + L 进入需要输入密码才能返回桌面的状态。

理想的输出应该是简单的“0”或“1”,但我绝对可以接受类似这样的输出:

The computer is currently locked.

...只要它不变。我已经习惯了被迫解析输出,所以再多一件这样的事情也不会有什么区别。我只是不知道如何从 Windows 获得任何类型的答案。

答案1

Powershell,检查用户是否登录并且logonui是否正在运行。

# locked.ps1
[pscustomobject]@{locked = (quser 2>$null) -and (get-process logonui -ea 0) }
invoke-command computer01 locked.ps1

locked PSComputerName  RunspaceId
------ --------------  ----------
  True computer01      7897e551-c698-4633-a740-e8bf5e139e98

相关内容