You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过远程Shell(SSH会话)解锁Windows 10电脑

如何通过远程Shell(SSH会话)解锁Windows 10电脑

我之前也碰到过完全一样的需求——不想把Windows电脑的密码给用户,但要远程帮他们解锁系统,而且必须通过SSH shell操作。下面是我亲测有效的几种方法,都是纯命令行操作,完全符合你的要求:

方法一:手动查询会话+tscon命令解锁

这是最直接的方式,步骤很清晰:

  1. 先通过SSH登录到目标Windows机器,确保你用的是拥有管理员权限的账号登录(没有管理员权限的话后续命令会失败)。
  2. 运行query session命令,查看当前所有会话的状态,输出大概长这样:
SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
 services                                    0  Disc
 console           JohnDoe                  1  Locked
>rdp-tcp#0         AdminUser                2  Active  rdpwd

重点找到标记为console的会话,记下它的会话ID(上面例子里是1),状态应该是Locked。
3. 执行解锁命令:tscon <会话ID> /dest:console,比如上面的例子就是tscon 1 /dest:console。执行后,目标电脑的锁定界面就会直接解锁到用户的桌面。

方法二:PowerShell自动化解锁(无需手动查ID)

如果不想每次手动找会话ID,可以用PowerShell脚本自动完成:

# 自动筛选出控制台会话的ID
$consoleSession = query session | Where-Object { $_ -match 'console' }
$sessionId = ($consoleSession -split '\s+')[2]
# 执行解锁
tscon $sessionId /dest:console

把这段代码复制到SSH会话的PowerShell里执行就行,同样需要管理员权限。

注意事项

  • 必须用管理员账号登录SSH:普通用户权限没法操作系统会话,会提示权限不足。
  • 目标电脑只是锁定状态,不是注销:如果用户已经注销了,控制台会话不存在,这些方法就没用了(你得重新创建会话,但那需要密码)。
  • 多用户场景要注意:如果有多个用户会话,要确保query session里找到的console会话是你要解锁的那个用户的。

备注:内容来源于stack exchange,提问作者cyberghost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:42:33