这是 windows/rdp-port-change.md 的每次改动内容,按时间从新到旧。其他文章一起提交的部分不会出现在这里。
#1
2026-10-18
+60
−0
docs: 新增 Windows 远程桌面/激活、服务器 RAID/带外管理 5 篇
032d400
new file mode 100644
@@ -0,0 +1,60 @@
+---
+tags: [远程桌面, 端口, 防火墙]
+order: 20
+---
+
+# 远程桌面改端口(含防火墙)
+
+## 场景
+
+3389 被扫得太厉害,安全日志里全是爆破;或者公司规范要求非标端口。
+
+## 前置条件
+
+- 有控制台或 IPMI 兜底,改完连不上还能救回来
+- 云主机记得同步改安全组
+- 新端口没被占用:`netstat -ano | findstr :13389`
+
+## 配置
+
+```powershell
+# 1. 改端口(十进制)
+$key = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
+Set-ItemProperty -Path $key -Name PortNumber -Value 13389
+
+# 2. 防火墙放行
+New-NetFirewallRule -DisplayName "RDP-13389" -Direction Inbound `
+ -Protocol TCP -LocalPort 13389 -Action Allow -Profile Domain,Private,Public
+
+# 3. 可选:禁用原来的 3389 规则
+# 中文系统叫「远程桌面 - 用户模式(TCP-In)」,英文叫「Remote Desktop - User Mode (TCP-In)」
+Disable-NetFirewallRule -DisplayName "远程桌面 - 用户模式(TCP-In)"
+
+# 4. 重启服务(会断开当前会话,能重启机器就重启)
+Restart-Service TermService -Force
+```
+
+## 验证
+
+```powershell
+netstat -ano | findstr :13389
+Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" PortNumber
+```
+
+客户端连接:`mstsc /v:10.0.0.5:13389`。
+
+## 回滚
+
+```powershell
+Set-ItemProperty -Path $key -Name PortNumber -Value 3389
+Enable-NetFirewallRule -DisplayName "远程桌面 - 用户模式(TCP-In)"
+Restart-Service TermService -Force
+```
+
+## 坑
+
+- 改完 `TermService` 会断开所有在线会话,生产上先发通知。
+- 端口是**每台机器**的,不是整个域。批量改用组策略首选项推注册表。
+- 云主机:Windows 防火墙改了、安全组没改,一样连不上。
+- 换端口**不等于安全**,扫描器照样扫全端口。真要防爆破,上 VPN / 堡垒机 / 限制源 IP。
+- 多台机器用了不同端口时,文档里写清楚,不然半年后没人记得哪台是哪个。