關鍵前提:目標帳號 **必須設定密碼** (空白密碼預設拒絕網路登入),且防火牆需開放 TCP 3389。
| 可能原因 | 排查與解決 |
|---|---|
| 防火牆封鎖 3389 | Windows 防火牆 → 例外 → 勾選「遠端桌面」/ 添加埠 TCP 3389;第三方防火牆同步放行 |
| TCP/IP 篩選/ IPSec 策略阻擋 | 網路連線 → 本地連線 → 內容 → TCP/IP → 進階 → 選項 → TCP/IP 篩選 → 關閉或允許 3389;檢查 gpedit.msc → IP 安全性原則 |
| Terminal Services 服務未啟動 | services.msc → Terminal Services → 啟動類型=自動、啟動;相依服務: Remote Procedure Call (RPC)、Telephony 同步檢查 |
| 殺毒/安全軟體攔截 | 暫停/卸載測試;或加入信任區域、排除 3389 埠、mstsc.exe、termsrv.dll |
| 群組原則限制 | gpedit.msc → 電腦設定 → 系統管理範本 → Windows 元件 → 終端機服務 → 「拒絕使用者透過終端機服務登入」→ 未設定/已停用 |
| 埠口衝突/被修改 | 見下方「修改 RDP 埠口」章節 |
| 原因 | 解決 |
|---|---|
| 帳號無密碼/密碼錯誤 | 確認目標帳號有強密碼;嘗試本機登入驗證密碼正確性 |
| 帳號不在「遠端桌面使用者」群組 | lusrmgr.msc → 群組 → Remote Desktop Users → 加入帳號 |
| 群組原則「拒絕透過終端機服務登入」包含該帳號/群組 | gpedit.msc → 電腦設定 → Windows 設定 → 安全性設定 → 本地原則 → 使用者權利指派 → 「拒絕透過終端機服務登入」移除該帳號 |
| 「允許透過終端機服務登入」未包含該帳號/群組 | 同路徑 → 「允許透過終端機服務登入」 → 加入 Remote Desktop Users 群組或具體帳號 |
| 帳號鎖定/密碼過期 | lusrmgr.msc → 解鎖/取消密碼過期/設定永不過期 |
| 網路層級驗證 (NLA) 不相容 | Win 2003 不支援 NLA;客戶端 (Win 7+) 需在 RDP 檔/介面取消「僅允許使用網路層級驗證的遠端桌面連線」 |
⚠ 修改註冊表有風險,操作前請匯出備份並確認可本機/緊急主控台存取
regeditHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp → PortNumberHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp → PortNumberPortNumber → 基數選「十進位」 → 輸入新埠號 (建議 10000–65535 避免衝突,如 33890)IP:新埠號 (例:192.168.1.100:33890)# 本機測試埠口監聽
netstat -ano | findstr :3389
# 遠端測試連通性
telnet 192.168.1.100 3389
# PowerShell
Test-NetConnection -ComputerName 192.168.1.100 -Port 3389
Windows Server 2003 遠端桌面核心在於:**服務啟動、防火牆放行、帳號有密碼且在 Remote Desktop Users 群組、埠口無衝突**。依「連不上 → 登不入」二維排查,配合註冊表修改埠口與安全強化,可將風險降至最低。但請務必規劃遷移路徑,勿讓 EOL 系統成為資安漏洞。