問題現象
遠端桌面連線 (MSTSC) 至 Windows Server 2003 時提示:「遠端桌面連線數超過上限」,無法連線。機房重啟伺服器後恢復,但問題重複發生。
根本原因
Windows Server 2003 預設僅允許 2 個同時作用的遠端桌面會話 (管理模式)。若管理員在不同電腦連線後直接關閉視窗 (×) 而未「登出」/「中斷」,會話保留在伺服器端佔用名額,第三次連線即被拒絕。
標準解決方案:養成良好習慣
- 固定一組會話長期保留: 主力管理電腦連線後保持「中斷」 (關閉視窗),不登出。
- 其餘連線用完即登出: 臨時連線務必在「開始」→「登出」而非關閉視窗。
- 此習慣可確保長期佔用 1 個名額,另 1 個名額供輪換使用,永不超限。
緊急恢復方案:Telnet 遠端踢除殭屍會話
前提:伺服器已啟用 Telnet 服務 (預設未啟用,建議平時開啟備用)。
- 本機開啟命令提示字元:
telnet <伺服器IP>。
- 輸入管理員帳號密碼登入。
- 執行
query session 列出所有會話 (查看 ID、狀態、閒置時間)。
- 執行
logoff <會話ID> 強制登出指定會話 (如 logoff 1)。
- 再次嘗試 MSTSC 連線,應成功。
進階配置:修改同時連線上限 (不建議生產環境)
- 執行
gpedit.msc → 電腦設定 → 系統管理範本 → Windows 元件 → 終端機服務 → 終端機伺服器 → 連線。
- 啟用 限制連線數量,設定較大值 (如 10)。
- 風險: 過多同時會話消耗記憶體/CPU,影響伺服器穩定性;且違反 Microsoft 授權條款 (每裝置/每使用者 CAL)。
現代替代方案 (Windows Server 2008 R2+)
- 啟用 遠端桌面服務 (RDS) 授權模式,配合 RD 授權伺服器發放 CAL,支援大量並發使用者會話。
- 使用 RD 閘道 / RD Web Access 統一入口,集中管理會話。
- Windows Server 2012+ 移除 2 會話限制 (管理模式仍建議 ≤ 2),正式部署請部署 RDS 角色。