更改计算机上的远程桌面侦听端口
更改计算机上的远程桌面侦听端口
来源:https://learn.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/remotepc/change-listening-port?tabs=powershell
2025/05/07
适用于: ✅ Windows Server 2025, ✅ Windows Server 2022, ✅ Windows Server 2019, ✅ Windows Server 2016, ✅ Windows 11, ✅ Windows 10
本文内容
先决条件
配置远程桌面的侦听端口
通过远程桌面客户端(Windows 客户端或 Windows Server)连接到计算机时,计算机上的远程桌面功能会通过定义的侦听端口(默认为 3389)“听到”连接请求。 本文介绍如何使用注册表更改远程桌面客户端的侦听端口。
先决条件
在开始之前,请确保具有以下项:
要连接到的计算机的管理员访问权限或等效权限。
启用了远程桌面的计算机。
用于测试更改的客户端,例如远程桌面连接 (mstsc.exe)。
若要使用 PowerShell 更改侦听端口,请执行以下步骤:
以管理员身份打开 PowerShell。
通过运行以下 PowerShell 命令检查当前端口:
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"
下面显示了一个示例输出:
PortNumber : 3389
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
PSChildName : RDP-Tcp
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
通过运行以下 PowerShell 命令更改端口,替换为
$portvalue =
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue
使用以下 PowerShell 命令创建新的防火墙规则以允许新端口,并
New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort
New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol UDP -LocalPort
win+r 输入regedit打开注册表,在上方“地址栏”里输入以下代码,快速打开注册表子项,可以看到“PortNumber”已经修改。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
防火墙入站规则也写好了。(控制面板\系统和安全\Windows Defender 防火墙\高级设置
2.3 但通过netstat,可以看到实际的远程端口服务的监听端口还未修改。还需要重启一下电脑。
PS C:\Windows\system32> tasklist /svc | findstr "TermService"
svchost.exe 4920 TermService
PS C:\Windows\system32> netstat -ano | findstr "4920"
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 4920
TCP [::]:3389 [::]:0 LISTENING 4920
UDP 0.0.0.0:3389 *:* 4920
UDP [::]:3389 *:* 4920
2.4 重启电脑后,已成功修改远程端口服务的监听端口。
C:\Users\zhang>tasklist /svc | findstr "TermService"
svchost.exe 1064 TermService
C:\Users\zhang>netstat -ano | findstr "1064"
TCP 0.0.0.0:23389 0.0.0.0:0 LISTENING 1064
TCP [::]:23389 [::]:0 LISTENING 1064
UDP 0.0.0.0:23389 *:* 1064
UDP [::]:23389 *:* 1064
2.6 如果还是不行,将如下注册表项也修改一下"PortNumber",用十进制修改方便。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp