更改计算机上的远程桌面侦听端口
更改计算机上的远程桌面侦听端口
来源:https://learn.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/remotepc/change-listening-port?tabs=powershell
本文内容
通过远程桌面客户端(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 命令更改端口,替换为
<port number>新的端口号:$portvalue = <port number> Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue
-
使用以下 PowerShell 命令创建新的防火墙规则以允许新端口,并
<port number>替换为新的端口号:New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort <port number> New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol UDP -LocalPort <port number>
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

浙公网安备 33010602011771号