如何确认、修改远程端口号,方法很多

2023-03-17 15:37:08 浏览数 (1)

如何确认远程端口号,方法很多,这里说3种

最直接的,powershell执行

Get-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlTermin*ServerWinStationsRDP*CP -Name PortNumber | select PortNumber

1、先确定TermService的pid,再通过pid确认远程端口

tasklist /svc|findstr "Term"

netstat -ano|findstr "进程号"

2、powershell来确认,原理跟上面一样

$rdppid=(get-wmiobject win32_service | where { $_.name -eq 'termservice'}).processID

netstat -ano|findstr $rdppid|findstr LISTENING

3、Reg query来查询,16进制d3d是10进制的3389

得到的值转换成10进制即可

set /a a=0xd3d

reg query "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINESYSTEMControlSet001ControlTerminal ServerWinStationsRDP-Tcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINESYSTEMControlSet001ControlTerminal ServerWdsrdpwdTdstcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINESYSTEMControlSet002ControlTerminal ServerWinStationsRDP-Tcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINESYSTEMControlSet002ControlTerminal ServerWdsrdpwdTdstcp" /s|findstr /c:"PortNumber"

如何修改远程端口号,方法也很多

1、参考微软官网文档:(适用2008R2/Win7以上的系统)

https://docs.microsoft.com/en-GB/windows-server/remote/remote-desktop-services/clients/change-listening-port

举例,把默认远程端口3389改为33899

首先,启用远程,

(gwmi -class win32_terminalservicesetting -namespace "rootcimv2terminalservices").setallowtsconnections(1)

netstat -ano|findstr :3389

然后改远程端口

$portvalue = 33899

Set-ItemProperty -Path 'HKLM:SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' -name "PortNumber" -Value $portvalue

powershell -c "& { restart-service termservice -force}"

netstat -ano|findstr :33899

后面2句是在防火墙里放行的(命令不适用2008R2/win7的powershell2.0),如果防火墙是关闭状态这2句命令就无需执行了,防火墙关闭状态下执行会报错。

New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portvalue

New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portvalue

2、通过reg add命令修改

举例,改为33899

reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v "PortNumber" /t REG_DWORD /d 33899 /f

reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp" /v "PortNumber" /t REG_DWORD /d 33899 /f

reg add "HKEY_LOCAL_MACHINESYSTEMControlSet001ControlTerminal ServerWinStationsRDP-Tcp" /v "PortNumber" /t REG_DWORD /d 33899 /f

reg add "HKEY_LOCAL_MACHINESYSTEMControlSet001ControlTerminal ServerWdsrdpwdTdstcp" /v "PortNumber" /t REG_DWORD /d 33899 /f

reg add "HKEY_LOCAL_MACHINESYSTEMControlSet002ControlTerminal ServerWinStationsRDP-Tcp" /v "PortNumber" /t REG_DWORD /d 33899 /f

reg add "HKEY_LOCAL_MACHINESYSTEMControlSet002ControlTerminal ServerWdsrdpwdTdstcp" /v "PortNumber" /t REG_DWORD /d 33899 /f

3、参考3389 Windows 远程端口修改工具

所有方法,改完远程端口后,都需要重启远程服务

重启远程服务的命令是powershell -c "& { restart-service termservice -force}"

但是重启远程服务容易出现意外情况,即重启远程服务是先关闭后开启的过程,跟重启机器类似,是先关机后开机的过程,如果前半程卡住,后半场是没辙的。

为了确保万无一失,建议修改远程端口后重启机器。

重启后重新mstsc时注意加端口号,当然了,如果用不明白mstsc,有个简单软件(本质上还是调用的底层mstsc),但是非常简单、好用,还能在本地电脑上记住密码,以后双击就能远程上,非常方便。

0 人点赞