如何通过PowerShell修改远程桌面RDP端口
通过PowerShell修改远程桌面(Remote Desktop)端口的脚本,不复杂,启动脚本后有两个选项:1.自定义远程桌面;2.回复远程桌面的默认端口3389 发出来给有用的兄弟。
由于这里向防火墙增加和删除例外是使用Windows8和Windows2012内置的Cmdlet: New-NetFirewallRule和Remove-NetFirewallRule。所以本脚本当前仅适用于Windows8和Windows2012以上版本的Windows操作系统,使用时请注意适用的范围。如果想兼容其他版本的windows系统,请将对应的cmdlet替换为netsh命令,具体的使用方法请参见以下帮助文档http://technet.microsoft.com/library/hh831755.aspx
在修改RDP端口的过程中,首先修改注册表“HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp”下“PortNumber”的键值为指定的端口,接下来重启Remote Desktop Services服务,并将该端口对应的防火墙入站请求添加到防火墙例外中。
在恢复默认RDP端口的过程中,首先将之前添加的防火墙例外清理掉,然后将注册表中对应键值的端口改回3389,最后重启Remote Desktop Services服务。
需要强调的是重启远程桌面服务的过程中远程桌面将会短时间中断,需要重新连接,并将该端口对应的防火墙入站请求添加到防火墙例外中,此处添加的仅仅是操作系统层面的防火墙例外,如果读者使用的是类似Windows Azure之类的虚拟化方案一定要对应的增加外部防火墙的例外,否则修改后的RDP端口将会无法从外部连接。
废话不多说,上代码:
Clear
Write-Host
Write-Host 1、自定义远程桌面端口 -ForegroundColor 10
Write-Host 2、恢复系统默认的远程桌面端口 -ForegroundColor 11
Write-Host
Write-Host
Write-Host "请从上面的列表选择一个选项...[1-2]“
$opt=Read-Host
Switch ($opt)
{
1 {
Write-Host
Write-Host 修改远程桌面(Remote Desktop)的默认端口... -ForegroundColor Red
Write-Host
Write-Host 下来将会提示输入要指定的端口号,请参考端口范围输入一个指定的端口号(范围:1024~65535)
Write-Host 该脚本修改注册表“HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp”下“PortNumber”的键值。
Write-Host
# 输入指定的端口号并修改RDP默认端口
$PortNumber=Read-Host "现在请输入要指定的端口号(范围:1024~65535)"
$original=Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'portnumber'
Write-Host 当前RDP默认端口为$original.PortNumber
$result=Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'portnumber' -Value $PortNumber
if($result.PrimaryStatus -eq 'OK')
{
Write-Host 已经完成 RDP 端口的修改! -ForegroundColor Green
}
else
{
Write-Host 修改RDP 端口失败! -ForegroundColor Red
}
#重启远程桌面服务
Write-Host 正在重启 Remote Desktop Services ... -ForegroundColor DarkYellow
Restart-Service termservice -Force
#允许自定义端口通过防火墙
Write-Host 添加防火墙策略,允许现有 RDP 端口 $PortNumber 入站。
$result=New-NetFirewallRule -DisplayName "Allow Custom RDP PortNumber" -Direction Inbound -Protocol TCP -LocalPort $PortNumber -Action Allow
if($result.PrimaryStatus -eq 'OK')
{
Write-Host 已经完成 RDP 端口对应防火墙策略的添加! -ForegroundColor Green
}
else
{
Write-Host 添加RDP 端口对应防火墙策略失败! -ForegroundColor Red
}
Write-Host
Write-Host 完成 RDP 端口修改!
}
2 {
Write-Host
Write-Host 正在恢复系统默认端口...
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'portnumber' -Value 3389
Write-Host 正在重启 Remote Desktop Services...
Restart-Service termservice -Force
Write-Host 正在删除防火墙设置...
Remove-NetFirewallRule -DisplayName "Allow Custom RDP PortNumber"
write-host 完成恢复!
}
}
修改RDP端口的执行效果如下所示:

恢复RDP默认端口的执行效果如下图所示:

Read more: PowerShell自定义修改远程桌面RDP端口.
相关文章
计算机存储单位有比特(bit)、字节(byte)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)、拍字节(PB)、艾字节(EB)等,今天我们几句来看看换算方法2026-03-18
Bytes/KB/MB/GB/TB/PB/EB/ZB/YB分别代表什么? 一文看懂计算机存储单位
今天我们来介绍计算机中存储容量的基本单位及换算关系,从最基本的字节开始,一直到TB级别,并解释了理论值与实际应用中的差异2026-03-18
电脑高手养成记! 2026年超详细的BIOS进入方法及设置汇总
想要深入了解和控制你的戴尔电脑吗?那就从学习如何进入BIOS界面开始吧!通过BIOS,用户可以设置系统时间、硬件配置以及启动设备等,下面我们就来看看进入bios和设置方法2026-03-10
在日常使用电脑的过程中,很多朋友都遇到过这样的问题:明明想卸载一个软件,却发现怎么也卸载不掉,下面我们来总结几种解决办法2026-02-04
C盘文件怎么转移到d盘? 将电脑C盘文档转移到D盘的多种技巧汇总
当你的C盘空间不足时,你需要采取一些措施来释放空间,随着电脑使用时间的增长,C盘可能会逐渐填满,那么,C盘满了怎么转移到D盘里面去?对于不熟悉电脑操作的用户来说,将数2026-01-14
C:\Windows\System32\drivers\etc文件夹没有hosts文件的多种解决办法
本文详细记录了一次寻找消失的hosts文件的经历,包括尝试多种方法恢复hosts文件的过程,文内介绍四种方法,都可以恢复hosts文件,详细如下2025-12-09
在编辑文字文档时,我们常常要输入各种各样的符号,本文跟大家分享一下5种常用符号输入技巧2025-11-06
是不是经常遇到朋友说屏幕亮一整夜浪费电,或者离开电脑时担心信息泄露?今天就教大家轻松设置电脑熄屏时间,省电、护屏、保隐私,快速搞定搞定2025-12-16
在日常使用电脑时,掌握运行快捷指令的方法能极大提升效率,无论是安装软件、调试系统还是快速打开程序,运行窗口都是得力助手,下面介绍几种常用打开方式,总有一种适合你2025-11-05
如果你前期给C盘分配的空间本身就很小,加上后来下载文件、安装软件等,很容易导致C盘空间紧张,这将会影响到系统运行速度和用户体验,我们有必要扩展C盘,那么电脑如何重2025-11-03












最新评论