会话管理三件套
qwinsta 列出本机或远端的所有终端会话及其状态,quser 用更易读的格式列用户名与登录时间,rwinsta 重置(强制清掉)指定会话,tscon 把会话接管到控制台或另一个会话。服务器上“会话数用完连不上”“某个会话黑屏卡死”这类问题,基本都靠这三个命令先看清现场再动手。
基本信息
| 适用平台 | Windows Server 2008 及以上;RDS 主机与管理服务器 |
|---|---|
| 查看 | qwinsta / quser / query session(三者等价) |
| 操作 | rwinsta <会话ID> 重置;tscon <ID> /dest:console 接管到控制台 |
| 权限 | 重置或接管他人会话需管理员,且会中断对方操作 |
典型使用场景
- 有人报“登录报会话数已达上限”:先 qwinsta 统计活动与断开状态会话数量
- 远程会话黑屏无响应:定位会话 ID 后用 rwinsta 重置,注意数据丢失风险
- 服务器维护需要独占控制台:tscon 把管理员会话切回 console
- 清理僵尸会话:用户早已离开但会话仍占用内存与许可证
- 审计登录情况:quser 输出用于快速核对谁还在机器上
常用示例
常用示例
qwinsta
quser
:: 远端查询(需要权限与可达的管理通道)
qwinsta /server:web01
:: 重置卡死的会话(该会话未保存的数据会丢失)
rwinsta 3
:: 把会话接管到控制台(服务器维护场景)
tscon 2 /dest:console
:: 更规范的清理方式:注销而非重置
logoff 3 /server:web01rwinsta 与 tscon 会直接打断用户会话,且不留保存机会。动手前先确认会话归属、告知使用人;能注销(logoff)就不要重置,重置会让应用来不及清理临时文件与锁。
断开(Disc)状态的会话仍占用资源与 RDS 许可证。RDS 场景常见的清理方式是配置“会话限制”策略:空闲多久断开、断开多久自动结束,比人工重置更可控。
会话状态读法
| 状态 | 含义 | 处理建议 |
|---|---|---|
| Active | 有人正在使用 | 确认归属后再操作 |
| Disc | 已断开但会话还在 | 确认无人使用后可清理 |
| Listen | 监听新连接的会话 | 会话数上限时它也算一个 |
| Conn | 连接建立中 | 短暂状态,持续不动可重点查 |