远程桌面连接需同时满足三条件:启用RDP服务、防火墙放行3389端口、授权用户具备远程登录权限;配置时须在服务器管理器开启远程桌面、通过wf.msc或PowerShell创建入站规则,并验证规则启用状态与作用域。
在 windows server 中,远程桌面(rdp)默认使用 tcp 3389 端口,而高级安全 windows 防火墙默认会阻止所有未明确允许的入站连接。因此,必须手动创建一条入站规则来放行该端口或直接启用预定义的远程桌面规则。
确认远程桌面服务已启用
防火墙放行只是前提之一,服务器本身必须先开启远程桌面功能:
- 打开“服务器管理器” → “本地服务器”,点击右侧“远程桌面”状态(如显示“已禁用”)
- 勾选“允许远程连接到此计算机”
- 建议同时勾选“仅允许使用网络级别身份验证的远程桌面的计算机连接”,提升安全性
- 点击“选择用户”,添加至少一个具有密码的账户(空密码账户无法远程登录)
通过图形界面快速放行(推荐新手)
使用内置的“高级安全 Windows 防火墙”控制台操作最直观:
- 按 Win + R,输入 wf.msc,回车打开控制台
- 左侧导航栏点击“入站规则”
- 在右侧操作面板中,点击“新建规则…”
- 选择“预定义”,下拉菜单中选“远程桌面”,点击下一步
- 勾选“远程桌面(TCP-In)”和/或“远程桌面(UDP-In)”(TCP为主,UDP用于部分优化场景)
- 点击“完成”,规则即生效
用 PowerShell 一键创建(适合批量或脚本化)
管理员权限运行 PowerShell,执行以下命令即可精准放行 TCP 3389:
New-NetFirewallRule -DisplayName "允许RDP" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow -Profile Any
说明:
- -Profile Any 表示该规则对域、专用、公用三种网络配置文件均生效
- 如只需在内网生效,可改为 -Profile Domain,Private
- 若已修改过 RDP 默认端口(如改到 8888),需同步将 -LocalPort 3389 替换为对应数值
验证与排错要点
规则添加后并非万无一失,还需检查几个关键点:
- 规则状态是否为“已启用”(在 wf.msc 中右键规则 → 属性 → 确认“启用此规则”已勾选)
- 作用域是否匹配:默认规则允许任意 IP 访问;如限制来源,需在规则属性 → “作用域”中设置“远程 IP 地址”范围
- 确保没有更高优先级的“阻止”规则覆盖了该放行规则(防火墙按顺序匹配,拒绝规则优先级高于允许)
- 若仍无法连接,可在目标服务器上临时运行 telnet localhost 3389 测试端口是否本地监听正常(需先安装 telnet 客户端)


















