使用 Windows 內建「遠端桌面連線」(mstsc) 連線伺服器時,提示:
「用戶端無法連接到遠端電腦。遠端連接可能未啟用、已達最大連線數、或發生網路錯誤。」
或「連線可能未啟用,或電腦過於忙碌無法接受新連線」。本文提供**系統級完整排查清單**,涵蓋服務、防火牆、註冊表、組策略、網路層面,助您快速定位並修復。
| # | 檢查項目 | 操作方法 | 預期狀態 |
|---|---|---|---|
| 1 | Terminal Services 服務 | services.msc → Remote Desktop Services (TermService) | 啟動類型:自動 / 狀態:執行中 |
| 2 | Remote Desktop Configuration 服務 | services.msc → Remote Desktop Configuration (SessionEnv) | 啟動類型:手動/自動 / 狀態:執行中 |
| 3 | 系統屬性 → 遠端設定 | 右鍵「這台電腦」→ 內容 → 遠端 → 勾選 允許遠端連線 | 已勾選 (Win Server 預設勾選) |
| 4 | 防火牆 3389 埠 (或自訂埠) | wf.msc → 輸入規則 → Remote Desktop (TCP-In) 已啟用 | 已啟用、設定檔:域/專用/公用 全勾選 |
| 5 | 註冊表 遠端桌面啟用鍵值 | regedit → HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server → fDenyTSConnections = 0 | 0 = 允許,1 = 拒絕 |
| 6 | 註冊表 埠號確認 | 同路徑 → WinStations\RDP-Tcp\PortNumber (十進位) | 預設 3389 (0xD3D),修改過需一致 |
| 7 | 網路層面連通性 | 客戶端 telnet / Test-NetConnection -Port 3389 | TCP 連線成功 (非拒絕/逾時) |
| 8 | 最大連線數限制 | gpedit.msc → 電腦設定 → 管理範本 → Windows 元件 → 遠端桌面服務 → 遠端桌面工作階段主機 → 連線 → 限制連線數量 | 未設定 / 設為 999999 (預設無限制) |
| 9 | 網路層級驗證 (NLA) | 系統屬性 → 遠端 → 勾選 僅允許執行網路層級驗證的遠端桌面連線 (建議啟用) | 已勾選 (更安全),舊版客戶端可能不支援 |
| 10 | 使用者權限指派 | gpedit.msc → 電腦設定 → Windows 設定 → 安全性設定 → 本地原則 → 使用者權利指派 → 允許透過遠端桌面服務登入 | 包含 Administrators、Remote Desktop Users |
| 11 | 防毒/安全軟體攔截 | 暫時關閉 360/金山/McAfee/Defender 即時防護測試 | 排除第三方攔截 |
| 12 | IPsec/VPN/代理干擾 | 客戶端關閉 VPN/代理,或伺服器端檢查 IPsec 原則 | 直連環境測試 |
# 1. 確保關鍵服務啟動
Set-Service TermService -StartupType Automatic -ErrorAction SilentlyContinue
Start-Service TermService -ErrorAction SilentlyContinue
Set-Service SessionEnv -StartupType Manual -ErrorAction SilentlyContinue
Start-Service SessionEnv -ErrorAction SilentlyContinue
# 2. 註冊表啟用遠端桌面
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0 -Type DWord -Force
# 3. 防火牆開放 3389 (含所有設定檔)
Enable-NetFirewallRule -DisplayGroup "Remote Desktop" -ErrorAction SilentlyContinue
# 或新建規則 (若預設規則遺失)
New-NetFirewallRule -DisplayName "RDP TCP 3389" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow -Profile Any -Enabled True
# 4. 允許遠端桌面登入權限 (確保 Administrators 在內)
$policy = Get-LocalGroup -Name "Remote Desktop Users"
if (-not $policy) { New-LocalGroup -Name "Remote Desktop Users" -Description "RDP Access" }
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "Administrators" -ErrorAction SilentlyContinue
Write-Host "RDP 基礎配置已套用,請測試連線。" -ForegroundColor Green
註冊表兩處需同步修改:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber
修改後**必須重啟伺服器**或重啟 TermService 服務生效,並同步更新防火牆規則埠號。
gpedit.msc → 電腦設定 → 管理範本 → Windows 元件 → 遠端桌面服務 → 遠端桌面工作階段主機 → 連線 → 允許使用者遠端連線 → 設為「已啟用」或「未設定」(勿設為「已停用」)。
TermService / TermDD:查看服務啟動失敗、授權錯誤 (RDS CAL 不足)。Windows Server 預設允許 2 個並發管理連線。超過需安裝「遠端桌面授權」角色服務並啟用 CAL (裝置/使用者)。授權問題表現為:連線建立後隨即斷開、事件日誌 TermService Event ID 1030/1031。
遠端桌面連不上,**90% 是服務未啟、防火牆未開、埠號不對、組策略禁用** 四大原因。按清單逐項核對,配合 telnet/Test-NetConnection 驗證網路達到度,通常 5 分鐘內定位根因。記住:修改埠號必須「註冊表雙改 + 防火牆同步 + 重啟服務」三步走。