必须同步修改注册表两处PortNumber、重启TermService服务、并放行防火墙TCP/UDP新端口,缺一不可;推荐用PowerShell一键执行三步操作,最后通过localhost:新端口验证生效。

你需要把Windows远程桌面默认的3389端口改成别的数字,防止被自动化扫描工具盯上,避免弱密码被暴力破解,也绕开某些网络环境里对3389端口的封锁。改端口不是只点两下注册表就行,必须同步改两处、重启服务、放行防火墙,漏一步就连不上。
用PowerShell一键改端口(推荐给怕点错注册表的人)
这一步操作起来很简单,直接复制粘贴命令就能跑,比手动翻注册表路径快得多,也不容易进错分支。
以管理员身份运行 PowerShell:右键「开始」按钮 → 选择「Windows PowerShell(管理员)」→ 点「是」确认UAC提示。
先查当前端口,执行这行命令:
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber'
看到输出里 PortNumber 是 3389,说明还没改过。现在执行修改命令——把下面整段复制进去,把 【58231】 换成你选的端口号(建议在10000–65535之间,且用 netstat -ano | findstr :58231 确认没被占用):
$p = 58231; Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber' -Value $p; Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp' -Name 'PortNumber' -Value $p
最后强制重启远程桌面服务:
Restart-Service TermService -Force
这条命令会立即生效,不用重启电脑。
手动修改注册表(适合想看清每一步逻辑的人)
注册表里有两个地方必须同时改,只改 RDP-Tcp 路径下的 PortNumber,远程桌面根本起不来;只改 rdpwd 路径下的,客户端能连上但卡在认证界面。这是Windows RDP协议底层设计决定的,不是操作失误。
第一步:按 Win + R,输入 regedit 回车,点击「是」允许UAC。
第二步:在注册表地址栏直接粘贴这个路径并回车:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp
找到右侧的 PortNumber,双击 → 勾选「十进制」→ 输入新端口号(比如 58231)→ 确定。
第三步:再在地址栏粘贴另一个路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
同样找到 PortNumber,用十进制方式改成完全相同的数字,一个字符都不能差。
直播话术巡检系统(Windows版) — 实时语音转写、关键词检测、场景自动切换、告警推送、大屏可视化。支持 Windows VB-Cable 虚拟声卡音频采集,阿里云 ASR 实时识别。一键启动脚本,自动安装环境。
第四步:关闭注册表编辑器,打开命令提示符(管理员),执行:
net stop termservice && net start termservice
这条命令比重启整机快,服务重启后新端口立刻生效。
防火墙必须放行新端口(否则从外网连不上)
Windows自带防火墙默认只放行3389,改完端口不加规则,相当于把门锁了还换了钥匙孔位置——你有钥匙也插不进锁眼。
方法一(图形界面):搜索「高级安全 Windows 防火墙」→ 左侧点「入站规则」→ 右侧点「新建规则」→ 选「端口」→ 下一步 → 选「TCP」→ 特定本地端口填你的新端号(如58231)→ 下一步 → 选「允许连接」→ 下一步 → 勾选「域」「专用」「公用」→ 下一步 → 规则名称写「RDP-58231」→ 完成。
方法二(命令行,更快):在管理员 PowerShell 中执行:
New-NetFirewallRule -DisplayName "RDP on 58231" -Direction Inbound -Protocol TCP -LocalPort 58231 -Action Allow -Profile Domain,Private,Public
注意:UDP端口也要放行——新版RDP启用UDP加速后,只开TCP会导致连接延迟高、画面卡顿,尤其在公网环境下。命令里把 TCP 换成 UDP 再执行一遍,或在图形界面新建第二条规则。
验证新端口是否生效
在本机测试:按 Win + R,输入 mstsc,点「显示选项」→ 「常规」标签页 → 「计算机」栏填 localhost:58231(冒号不能少)→ 点「连接」。能正常弹出登录框,说明服务端已监听新端口。
在外网测试:用另一台电脑的远程桌面客户端,输入你的公网IP或域名+冒号+新端口(如 123.45.67.89:58231)。如果连不上,优先检查防火墙规则是否生效、云服务器的安全组是否同步放行该端口(阿里云/腾讯云需单独配置)。
连接成功后,下次所有远程桌面连接都必须显式带上端口号,mstsc 默认仍走3389。










