适用于: ✅ Windows Server 2025, ✅ Windows Server 2022, ✅ Windows Server 2019, ✅ Windows Server 2016, ✅ Windows Server 2012 R2, ✅ Windows Server 2008 R2, ✅ Windows 11, ✅ Windows 10, ✅ Windows 8.1, ✅ Windows 8
I. 端口选择
1.1 端口须知
知名端口:0 - 1023 通常被系统或标准服务占用,不建议随便使用。
注册端口:1024 - 49151 这一区间很多端口被软件“约定俗成”占用。
动态/私有端口:49152 - 65535 这是系统默认用于临时连接的端口范围,最适合自定义服务使用。
1.2 RDP 端口选择
如果你只是想改 RDP 端口、开一个自用服务端口,可以直接选:
50000 - 59999(非常常用、安全区间)60000 - 65000(也可以,但有些老设备对 >60000 支持不佳)
1.3 检查端口是否被占用
使用以下命令确认某个端口当前没被占用:
1netstat -ano | findstr :55001
如果没任何输出,说明当前端口空闲。
II. 配置侦听端口(二选一)
2.1 使用 PowerShell 更改
1.按下快捷键 「Win🪟 + X」 打开“终端管理员”或以管理员身份打开 PowerShell 。
2.通过运行以下 PowerShell 命令检查当前端口:
1Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name 'PortNumber'
输出类似于以下示例:
1PortNumber : 3389
2PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
3PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
4PSChildName : RDP-Tcp
5PSDrive : HKLM
6PSProvider : Microsoft.PowerShell.Core\Registry
3.运行以下 PowerShell 命令来更改此端口。 请务必将 55001 替换为你选择的端口号。
- RDP 服务真正读取并监听的端口
1Set-ItemProperty -Path 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp' -name 'PortNumber' -Value 55001
- 旧版 RDP / WDS 组件相关的遗留项(在 Windows 10 / 11 中可改可不改)
1Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name 'PortNumber' -Value 55001
2.2 使用注册表编辑器更改
1.按下快捷键 「Win🪟 + R」 打开“运行”对话框,输入 regedit 并按回车,打开“注册表编辑器”。
2.在左侧树状菜单中,依次展开并定位到以下两个路径(两个都需要修改):
路径 A:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp路径 B:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
3.在右侧窗格中找到名为 PortNumber 的键值。
4.双击它,在弹出的窗口中选择 “十进制” (Decimal),然后输入您想要修改的新端口号(例如:55001)。
5.确保两个路径下的 PortNumber 都修改为相同的新端口号。
III. 配置防火墙(二选一)
3.1 使用 PowerShell 配置
若要创建新的 Windows 防火墙规则以允许新端口,请以管理员身份运行以下 PowerShell 命令。 请务必将 55001 替换为你选择的端口号(参数用法
)。
1New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile Public -Direction Inbound -Action Allow -Protocol TCP -LocalPort 55001
2New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile Public -Direction Inbound -Action Allow -Protocol UDP -LocalPort 55001
参数说明:
- -Profile:接受
Any|Domain|Public|Private
或使用 netsh 添加防火墙规则:
1netsh advfirewall firewall add rule name="RDPPORTLatest-TCP-In" dir=in action=allow protocol=TCP localport=55001
2netsh advfirewall firewall add rule name="RDPPORTLatest-UDP-In" dir=in action=allow protocol=UDP localport=55001
查看防火墙规则:
1Get-NetFirewallRule -DisplayName "RDPPORTLatest-TCP-In"
删除防火墙规则:
1Remove-NetFirewallRule -DisplayName "RDPPORTLatest-TCP-In"
3.2 手动配置
如果您开启了系统防火墙,必须手动添加新端口的入站规则,放行新端口,否则修改后将无法连接。
1.按下快捷键 「Win🪟 + R」 在打开的“运行”对话框中输入 wf.msc 并按回车,打开防火墙“高级设置”。
2.在左侧点击“入站规则”,然后在右侧点击“新建规则…”。
3.规则类型:选择“端口”,点击下一步。
4.协议和端口:选择“TCP”,在“特定本地端口”中输入您刚才设置的新端口号(如:55001),点击下一步。
5.操作:选择“允许连接”,点击下一步。
6.配置文件:勾选“域”、“专用”和“公用”,点击下一步。
7.名称:给规则起个名字(如:RDPPORTLatest-TCP-In),点击完成。
IV. 使配置生效(二选一)
4.1 重启服务
1net stop TermService
2net start TermService
4.2 重启计算机
如果重启服务未生效,你需要重启计算机使更改生效。
V. 客户端远程连接
1.打开“远程桌面连接”应用程序(按下「Win🪟 + R」,输入 mstsc 按回车)。
2.在“计算机”框中输入服务器的 IP 地址和修改后的端口号。例如:
1192.168.1.100:55001
3.输入用户名和密码,点击连接即可。
💡小贴士
安全建议: 除了修改端口,建议配合强密码策略或开启 NLA(网络级别身份验证)。
先测后走: 如果是云服务器(如阿里云、腾讯云),除了系统内部防火墙,还需要在云平台的安全组/防火墙设置中开启该新端口。
VI. 参考文档
参考文档:Microsoft Learn