我已经浏览了百万个搜索结果,但都没有回答我的问题:
如何使用终端/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