原文地址:https://www.willnet.net/index.php/archives/348/
需求:vpn连接限制了可访问的ip和端口,想要使用windows的远程桌面

思路:
1,修改远程桌面默认3389端口为vpn可访问端口;
2,添加端口转发到远程桌面默认3389端口

实施:
1,使用rdpwrapper修改,或通过注册表修改,略。

2,添加新端口转发到3389端口,并设置防火墙放行新端口
命令如下:
端口转发:

netsh interface portproxy add v4tov4  listenaddress=0.0.0.0 listenport=%newport% connectaddress=127.0.0.1 connectport=3389

防火墙放行:

netsh advfirewall firewall add rule name="Allow VPN Remore Desktop" dir=in protocol=tcp localport=%newport% action=allow

批处理脚本:

@echo off&PUSHD %~DP0 &TITLE VPN可访问远程桌面端口设置
mode con cols=90 lines=30&COLOR f0
fltmc>nul&&(goto :message)||(echo;请以管理员身份运行,按任意键退出 &&goto :end):message
cls
echo;本程序需在终端计算机上运行
echo;本程序会将VPN可访问端口映射到远程桌面的3389端口,并添加相应防火墙规则
echo;
echo;按任意键继续,或点击右上角X退出
pause>nul
goto :port3389check:port3389check
set portnum=3389
for /f "tokens=3 delims=: " %%a in ('netstat -an') do (
if "%%a"=="%portnum%" (goto :input))
echo;&echo 未检测到3389端口,请检查远程桌面服务&echo 按任意键退出&goto :end:input
cls
echo;请输入您的VPN可访问端口并按回车
set/p userinput=端口:
echo %userinput%|findstr /r /c:"^[0-9][0-9]*$">nul
if errorlevel 1 (echo 请检查您输入的端口,按任意键开始重新输入&pause>nul&goto :input) else (
if %userinput% leq 65535 (if %userinput% geq 10000 (goto :vpnportcheck) else (echo 请检查您输入的端口,按任意键开始重新输入&pause>nul&goto :input) ) else (echo 请检查您输入的端口,按任意键开始重新输入&pause>nul&goto :input))
goto :end:vpnportcheck
set vpnportnum=%userinput%
for /f "tokens=3 delims=: " %%a in ('netstat -an') do (
if "%%a"=="%vpnportnum%" (echo 检测到您输入的端口已被占用,按任意键退出&goto :end))
goto :portproxy:portproxy
cls
echo;***步骤1:添加端口映射***
echo;如果360拦截,请选择“允许操作”
netsh interface portproxy add v4tov4  listenaddress=0.0.0.0 listenport=%userinput% connectaddress=127.0.0.1 connectport=3389
echo;
echo;***步骤2:添加防火墙规则***
echo;如果360拦截,请选择“允许操作”
netsh advfirewall firewall add rule name="Allow VPN Remore Desktop" dir=in protocol=tcp localport=%userinput% action=allow >nul
echo;
echo;成功,按任意键退出...
goto :end:end
pause>nul

脚本说明:
0,github地址:https://github.com/trepwq/proxy-remote-desktop-port-batch
1,使用fltmc检查是否以管理员方式运行
2,检查3389端口是否在监听状态,使用了for循环匹配netstat -an命令结果中3389端口
3,检查输入的新端口是否合规,不能是非整数,不能是数字和其他字符组合,端口有范围,使用了findstr的正则匹配和if大小判断
4,检查新端口是否被占用,原理同2
订阅频道获取更新 https://t.me/willnetchannel

windows添加远程桌面3389端口映射相关推荐

  1. 路由器端口映射,远程桌面连接--端口映射+花生壳=让人访问你个人服务器或WEB站点...

    [图]路由器端口映射,远程桌面连接--端口映射+花生壳=让人访问你个人服务器或WEB站点 2010-03-16   关键字:路由器端口映射,内网端口映射,porttunnel,端口映射,远程桌面,修改 ...

  2. 修改远程桌面3389端口

    title: 修改远程桌面3389端口 tags: windows categories: windows 在修改前在防火墙添加修改远程端口的允许通过的策略,或者暂时关闭防火墙,不然修改完端口号远程连 ...

  3. 修改远程桌面3389端口批处理

    如果你有windows的服务器,那么修改3389是必须的,手动修改稍显麻烦,以下是批处理,保存为3389.bat就可以了. @echo off color f0 echo 修改远程桌面3389端口(支 ...

  4. NtLmSsp 登录爆破防御办法 附修改RDP远程桌面3389端口方法

    NtLmSsp 登录爆破防御办法 附修改RDP远程桌面3389端口方法 https://www.bnxb.com/winserver/27745.html 今天在系统日志中看到一堆尝试登录远程桌面失败 ...

  5. 如何修改远程桌面3389端口

    如何修改远程桌面3389端口 ------------------------------------------------------ 首先打开注册表:运行--cmd--regedit: 1, H ...

  6. Windows server 2008 R2远程桌面3389端口号修改

    修改 Windows 服务器默认远程端口 https://help.aliyun.com/document_detail/51644.html?spm=5176.doc51644.6.784.4iAH ...

  7. 一键修改windows远程桌面3389端口

    背景: 出于对生产服务器的保护,我们一般都会修改windows远程桌面的3389端口. 但是通过一步步修改注册表子项来修改端口,过程很慢. 参考windows官方链接:更改远程桌面的侦听端口 | Mi ...

  8. 修改Windows server远程桌面连接端口3389

    默认在Windows的操作系统上,远程桌面连接使用的端口上是3389.鉴于安全因素的考虑,很多企业会修改默认端口,防止黑客进行端口扫描. 修改远程桌面连接默认端口步骤如下: 一:需要修改注册表键值: ...

  9. 连接被远程服务器中断,Windows 2008远程桌面3389连接上后会被立即断开,并提示“远程桌面会话已结束”解决方案...

    昨天收到一位客户反馈使用我的windows 2008系统,开启3389远程桌面后,出现客户机刚通过3389连到服务器之后,就会被断开连接的问题.并出现以下提示: 该问题原因有2个: 1.本站提供的20 ...

最新文章

  1. 你们是不是也是开一堆shell. » 社区 | Ruby China
  2. linux下tty, ttyn, pts, pty, ttySn, console理解
  3. python生成器杨辉三角_python 生成器生成杨辉三角的方法(必看)
  4. 配置文件存int类型_Redis详解(五)------ redis的五大数据类型实现原理
  5. 28. 智慧医疗--AI将成为医生的好帮手
  6. 关于DOM的事件操作
  7. vim替换字符(包括行首行尾添加字符串)
  8. 洛谷4755 Beautiful Pair (分治)
  9. MSDEV.EXE-应用程序错误解决办法(转)
  10. Visio2010如何安装
  11. MyBatis源码本地编译
  12. java读取txt文件_Java读取TXT文件的方法
  13. 华表(cell)的使用总结
  14. catia中尺子没了怎么调出来,【答疑】草图大师sketchup的尺子快捷键是什么呀? - 羽兔网问答...
  15. 微信小程序怎么开店?怎么开一个小程序店铺
  16. mysql字段长度的作用_数据库字段的长度 作用
  17. mysql rownum写法_mysql类似oracle rownum写法实例详解
  18. DOM控制video实现开始/暂停按钮思路方法
  19. 【C++11】之 emplace_back() 与 push_back() 的区别
  20. 基于can总线的A2L文件解析(1)

热门文章

  1. java迷宫设总结_java实现迷宫问题
  2. IDC机房架构设备选购案例
  3. 【MacBook python画图显示中文字体】
  4. autojs 云控_autojs实现云端脚本(六)
  5. 谷歌云端硬盘如何下载GB型文件
  6. 如何撤销一次commit
  7. gulp 使用教程及步骤
  8. AutoCAD VBA enabler 2010-2017
  9. linux中文本如何过滤器,Linux 上 12 个高效的文本过滤命令
  10. LoRa开发常见问题