最直接的,powershell执行
Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Termin*Server\WinStations\RDP*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_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Terminal Server\WinStations\RDP-Tcp" /s|findstr /c:"PortNumber" reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /s|findstr /c:"PortNumber"
1、参考微软官网文档:(适用2008R2/Win7以上的系统)
举例,把默认远程端口3389改为33899
首先,启用远程,
(gwmi -class win32_terminalservicesetting -namespace "root\cimv2\terminalservices").setallowtsconnections(1)
netstat -ano|findstr :3389
然后改远程端口
$portvalue = 33899
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-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_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber" /t REG_DWORD /d 33899 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v "PortNumber" /t REG_DWORD /d 33899 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber" /t REG_DWORD /d 33899 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v "PortNumber" /t REG_DWORD /d 33899 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber" /t REG_DWORD /d 33899 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v "PortNumber" /t REG_DWORD /d 33899 /f
重启远程服务的命令是powershell -c "& { restart-service termservice -force}"
但是重启远程服务容易出现意外情况,即重启远程服务是先关闭后开启的过程,跟重启机器类似,是先关机后开机的过程,如果前半程卡住,后半场是没辙的。
重启后重新mstsc时注意加端口号,当然了,如果用不明白mstsc,有个简单软件(本质上还是调用的底层mstsc),但是非常简单、好用,还能在本地电脑上记住密码,以后双击就能远程上,非常方便。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有