如何通过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端口.
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 如何通过PowerShell修改远程桌面RDP端口
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html