更改计算机上的远程桌面侦听端口

更改计算机上的远程桌面侦听端口

来源:https://learn.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/remotepc/change-listening-port?tabs=powershell

 

本文内容

  1. 先决条件
  2. 配置远程桌面的侦听端口

通过远程桌面客户端(Windows 客户端或 Windows Server)连接到计算机时,计算机上的远程桌面功能会通过定义的侦听端口(默认为 3389)“听到”连接请求。 本文介绍如何使用注册表更改远程桌面客户端的侦听端口。

先决条件

在开始之前,请确保具有以下项:

  • 要连接到的计算机的管理员访问权限或等效权限。

  • 启用了远程桌面的计算机。

  • 用于测试更改的客户端,例如远程桌面连接 (mstsc.exe)。

若要使用 PowerShell 更改侦听端口,请执行以下步骤:

  1. 以管理员身份打开 PowerShell。

  2. 通过运行以下 PowerShell 命令检查当前端口:

    Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"

     

  3. 下面显示了一个示例输出:

    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

     

  4. 通过运行以下 PowerShell 命令更改端口,替换为 <port number> 新的端口号:

    $portvalue = <port number>
    
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue

     

  5. 使用以下 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

 

 

posted @ 2025-06-03 15:05  人生苦短,知足常乐!  阅读(168)  评论(0)    收藏  举报