必须在防火墙中放行新端口,否则远程桌面无法连接;需新建入站规则、用PowerShell添加规则,并同步更新系统内置“远程桌面(TCP-In)”规则的注册表端口号。

Win11修改远程桌面默认端口3389后,若不立即在防火墙中放行新端口,所有外部连接请求都会被拦截,远程桌面将无法建立——这和注册表改得再正确也毫无关系。
用图形界面新建入站规则(推荐新手)
第一步:按 Win + R 输入 wf.msc 并回车,以管理员身份打开「高级安全 Windows Defender 防火墙」控制台。
第二步:左侧点击「入站规则」→ 右侧点击「新建规则…」→ 在向导第一页选择「端口」→ 点击「下一步」。
第三步:选择「TCP」→ 在「特定本地端口」框中输入你刚在注册表里设的新端口号(例如 3390)→ 点击「下一步」。⚠️这里填错数字或漏掉一位数,后续连接必然失败,且错误提示不会明确告诉你端口不对。
第四步:选「允许连接」→ 下一步 → 勾选「域」「专用」「公用」全部三项(除非你明确知道某类网络环境永不使用远程桌面)→ 下一步。
第五步:在「名称」栏输入清晰可辨的规则名,例如 Remote Desktop - TCP 3390 In,可选填描述,点击「完成」。
用PowerShell命令一键添加(适合批量或脚本化)
方法一:以管理员身份运行 PowerShell,执行以下命令(把 3390 替换为你实际设置的端口号):
netsh advfirewall firewall add rule name="RDP Custom Port 3390" dir=in action=allow protocol=TCP localport=3390
方法二:如果需要同时放行多个不连续端口(比如你还开了SSH和自定义管理端口),可用逗号分隔:
netsh advfirewall firewall add rule name="RDP+SSH+Admin" dir=in action=allow protocol=TCP localport=3390,22,8080
注意:netsh 不支持空格、中文路径或引号包裹端口号;若提示“拒绝访问”,说明没用管理员权限启动 PowerShell。
同步更新系统内置的“远程桌面(TCP-In)”规则(关键补漏步骤)
Windows 自带的「远程桌面(TCP-In)」规则默认绑定 3389,即使你新建了规则,某些策略组或企业环境仍可能优先匹配它。必须手动修正其底层配置,否则重启后可能失效。
① 在注册表编辑器中定位到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules
② 在右侧找到名为 RemoteDesktop-In-TCP 的字符串值(长串内容,含 GUID)。
③ 双击该值,在弹出的编辑窗口中查找 3389,将其替换为你设置的新端口号(如 3390),仅改这一处数字,其余字符一个都不能动。
④ 修改完成后关闭注册表编辑器,回到「高级安全 Windows Defender 防火墙」→「入站规则」→ 点击右上角「操作」→「刷新」→ 查看「远程桌面(TCP-In)」规则的「本地端口」列是否已更新为新值。
这一步不做,某些 Win11 版本(尤其是 22H2 后期及 23H2)会在策略刷新后自动覆盖你新建的规则,导致连接突然中断。

















