開始前先了解
Windows 遠端桌面 (RDP) 預設使用 3389. 修改後, 連線時需指定新的連接埠, 例如 192.0.2.10:53389. 本篇以 53389 示範; IP 為文件範例, 請換成自己的主機 IP 與實際選定的連接埠.
適用於已啟用遠端桌面, 且你具有系統管理權限的 Windows 主機. 請在要修改的遠端主機內操作, 不要在自己用來連線的電腦上執行腳本. 由組織集中管理的主機, 請先由該環境的管理者確認.
腳本會重新啟動遠端桌面服務, 可能立即中斷目前及其他使用者的 RDP 連線. 請先儲存工作, 通知其他使用者, 安排可接受的操作時間, 並確認 Web KVM 等恢復入口可用.
變更連接埠可減少部分只探測預設連接埠的嘗試, 不保證避免掃描, 攻擊或帳號鎖定. 請同時使用強密碼, 保留網路層級驗證 (NLA), 維持系統更新, 並限制可連入的管理來源 IP. 也可搭配 修改 RDP 登入帳號 教學.
流程依提供的腳本內容及 Microsoft 文件核對. 配圖為操作示意圖, 不是 Windows 實機截圖. 系統版本與語系可能使選單文字或顯示略有差異.
01選擇新連接埠, 並保留恢復入口
登入目標 Windows 主機, 記錄主機 IP, 目前 RDP 連接埠, 登入帳號與密碼. 雲端主機先確認 Web KVM 可以開啟; 實體主機則確認方案提供的遠端主控台或其他已授權的管理入口.
依 系統管理員 PowerShell 的開啟方式, 在遠端主機內查詢目前的 RDP 設定值. 以下輸出為十進位數字, 請保存作為後續核對與恢復的依據:
(Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber').PortNumber
選擇 1 至 65535 之間, 尚未使用的整數連接埠. 建議避開 1024 以下的常見服務連接埠, 也不要與網站, 資料庫或其他服務衝突. 本篇用 53389 示範, 可先查詢目前是否有 TCP 服務監聽它:
Get-NetTCPConnection -State Listen | Where-Object LocalPort -eq 53389
若列出資料, 請先查明用途或換一個連接埠. 沒有列出資料只代表目前查不到該連接埠的 TCP 監聽, 仍需核對是否為其他服務預留. 如果指令無法辨識或執行失敗, 先停止修改並確認系統支援情況.
放大圖片
02先在外部防火牆放行新連接埠
若已啟用會員平台的雲端主機防火牆, 或另有路由器與其他防火牆, 請先允許自己的管理來源 IP 連入新 TCP 連接埠, 再執行腳本. 腳本只會調整 Windows 內的防火牆, 不會替你修改這些外部設備.
雲端主機可依 新增與管理防火牆規則 教學, 建立方向 IN, 動作 ACCEPT, 協定 TCP, 目的連接埠 53389 的規則, 並填入自己的管理來源 IP 或網段. 請使用實際選定的數字, 不要照抄範例 IP.
會員平台防火牆最多 10 筆規則. 請先確認仍有空位, 保留原本的管理規則, 待新連接埠可以登入後再整理. 不要先移除唯一可用的連線規則, 也不要用關閉防火牆或放行所有連接埠的方式處理.
本腳本新增的是 TCP 規則, 不會自動新增 UDP 規則. 本篇先驗證 TCP 遠端桌面連線. 若環境另需 RDP 的 UDP 傳輸, 必須另外核對 Windows 與外部防火牆相同連接埠的 UDP 規則, 不能把 TCP 規則視為同時允許 UDP.
放大圖片
03下載腳本, 以系統管理員身分執行
在目標 Windows 主機內開啟以下下載連結, 將 RDP_Port_v2.cmd 儲存到容易找到的位置. 請核對下載來源與檔名, 不要執行來源不明的替代檔案.
在檔案總管找到檔案, 按滑鼠右鍵, 選擇 "以系統管理員身分執行". 若出現權限確認, 核對後允許. 一般的雙擊開啟不一定具有必要的權限.
開始時會顯示目前連接埠的十六進位值, 預設 3389 對應 0xd3d. 接著應看到 [Admin confirmed]. 如果出現 ERR: Admin denied., 請關閉視窗, 重新以系統管理員身分執行.
若瀏覽器或安全軟體阻擋下載或執行, 先核對來源與檔案, 必要時聯絡客服協助, 不要停用整體安全防護.
放大圖片
04輸入新連接埠, 核對第一次確認
看到以下英文提示時, 輸入自己選定的十進位連接埠數字, 再按 Enter. 以 53389 示範的畫面如下:
Change to port to (Press enter for default 3389):53389
- Continuing will set it to to 53389
以上是腳本的提示與輸入示意, 不要整段貼成指令. 在提示後只輸入 53389 這類數字, 不要輸入 IP, 冒號, 字母, 空白或其他指令. 直接按 Enter 會選用 3389, 並不是保留目前自訂值.
畫面接著會暫停等待按鍵. 核對顯示的數字與步驟 2 放行的連接埠完全一致, 確認無誤後按任意鍵繼續. 若輸入錯誤, 在這次暫停時先關閉腳本視窗, 重新開啟後輸入正確數字.
放大圖片
05第二次確認後, 遠端桌面連線可能中斷
繼續後, 視窗會顯示新的設定值, 並出現以下通知:
Next we will add the port to firewall, then disconnect any running terminal services
這是第二次暫停, 此時新連接埠已寫入 Windows 登錄設定, 尚未新增防火牆規則或重新啟動服務. 關閉這個視窗不會還原設定, 只會停止後續步驟; 下次服務重新啟動時仍可能改用新連接埠. 若要取消, 請透過恢復入口核對設定並改回事先記錄的原值.
在按任意鍵繼續前, 再確認工作已儲存, 外部防火牆已放行新連接埠, 且 Web KVM 等恢復入口可用.
繼續後, 腳本會新增 Windows 防火牆的連入 TCP 規則, 名稱例如 RDP Port 53389, 並停止再啟動遠端桌面服務. 目前連線可能因此中斷, 不一定能看到最後畫面. 稍候服務啟動後, 改用新連接埠連線.
這個 Windows 防火牆規則套用所有設定檔, 不會自動限制管理來源 IP. 請確認外部已有來源限制, 或透過 Web KVM 在 Windows 防火牆中核對該規則的允許來源, 再進行登入驗證. 既有的封鎖規則也可能影響連線.
看到 Done 仍需完成下一步驗證. 若有任何錯誤, 或新連接埠沒有開始監聽, 先從恢復入口檢查服務與防火牆, 必要時安排重新啟動主機; 不要把腳本結束視為登入已成功.
放大圖片
06用 IP:新連接埠登入, 再核對與整理
在自己用來連線的電腦開啟 "遠端桌面連線", 在 "電腦" 欄位填入 主機IP:新連接埠, 再按 "連線". 以下是欄位格式, 不是 PowerShell 指令:
192.0.2.10:53389
請換成自己的主機 IP 與新連接埠, 使用半形冒號 :. 登入帳號與密碼維持原本的值, 不會因修改連接埠而改變. 確認能進入 Windows 桌面, 再於遠端主機內的系統管理員 PowerShell 查詢:
(Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber').PortNumber
Get-NetTCPConnection -State Listen | Where-Object LocalPort -eq 53389
核對設定值及監聽中的 LocalPort 都是自己的新連接埠. 若尚無法登入, 可從 Web KVM 做這項核對. 設定值已改變不代表服務已開始監聽; 請以實際監聽與 RDP 登入一起確認.
也可在自己的 Windows 電腦上測試 TCP 可達性, 將範例 IP 與連接埠換成實際值:
Test-NetConnection -ComputerName "192.0.2.10" -Port 53389
TcpTestSucceeded : True 只表示 TCP 連線成功, 不代表 RDP 帳號已通過驗證. 請仍以實際登入桌面為準.
確認完成後, 更新保存的主機資料與 .rdp 連線檔, 並核對監控及其他管理工具是否仍使用舊連接埠. 最後再整理 Windows 與外部防火牆中不再需要的舊 RDP 規則, 保留新連接埠的管理來源白名單, 不要刪除其他服務共用的規則.
放大圖片
常見問題
為什麼修改後突然斷線?
腳本在第二次確認後會重新啟動遠端桌面服務, 目前及其他使用者的連線可能因此中斷. 稍候後使用 IP:新連接埠重新連線. 若持續無法連線, 請使用事先確認的恢復入口檢查, 不要只等待舊連線自行恢復.
輸入錯誤, 或直接按 Enter, 怎麼辦?
若仍停在第一次確認, 可先關閉腳本視窗再重新輸入. 直接按 Enter 會選用 3389. 第一次確認後就會寫入設定, 到第二次暫停再關閉視窗並不會還原. 若已繼續執行, 請透過 Web KVM 核對目前設定與實際監聽, 先確認要使用的連接埠已放行, 再依本篇流程重新調整; 不要猜測目前生效的是哪個數字.
新連接埠無法連線, 要從哪裡檢查?
先核對主機 IP, 半形冒號與新數字, 再從 Web KVM 檢查設定值, 遠端桌面服務及 TCP 監聽. 有監聽但外部連不進來時, 核對 Windows, 會員平台與其他防火牆的規則及來源限制. 若需要恢復原設定, 先確認原連接埠可通行, 再透過恢復入口依相同流程改回事先記錄的原值.
腳本顯示 Done, 就表示修改成功嗎?
不能只看 Done. 請核對設定值, 新連接埠的監聽與實際 RDP 登入. 若出現權限, 防火牆或服務啟動錯誤, 先處理錯誤, 必要時在儲存工作後安排重新啟動主機. 請保留恢復入口直到驗證完成.
TCP 與 UDP 都會自動放行嗎?
不會. 本篇提供的腳本只新增 Windows 的 TCP 連入規則. 若環境需要 RDP 的 UDP 傳輸, 必須另外核對 Windows 與外部防火牆的同埠 UDP 規則, 並限制管理來源. 雲端主機防火牆的 TCP 與 UDP 分別建立規則時, 會各占一筆規則額度.
只有改連接埠, 就不會被掃描或鎖定帳號嗎?
無法保證. 新連接埠仍可能被找到, 帳號也仍可能遭到嘗試. 請搭配強密碼, NLA, 系統更新與管理來源白名單. 不要停用帳號鎖定原則來避免鎖定, 也不要因為已修改連接埠就向所有來源開放.