且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

windows7/windows2008修改远程桌面连接并修改防火墙配置脚本

更新时间:2022-10-04 18:51:43

一、说明

      为了安全我们经常对windows的管理都会修改默认的远程连接端口(tcp 3389)为其他的端口,要连接管理的windows机器一多,修改起来就比较烦琐,再加上修改防火墙,就更是麻烦,而且修改出错可能把自己关在外面,无法登录系统 ,所以此时你需要一个脚本工具一键修改端口,修改防火墙,备份修改前的注册表。


二、脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
@echo off
@echo [远程桌面端口修改]
 CLS
 MODE con: COLS=68 LINES=20
 :: MODE语句为设定窗体的宽和高
 
SetLocal EnableDelayedExpansion
 set/p d="输入新的远程桌面端口:"
 set port=%d%
 echo 将修改远程桌面端口为[%d%].
 echo 如果启用了的[系统防火墙] 或 [IPSec策略] 或 [TCP/IP筛选]以及
 echo 其他防护软件允许该[%d%]端口通过.否则有可能被关在系统外面,导致系统无法远程连接!!
 echo 按任意键继续操作...
 pause>nul
 set Str=0123456789ABCDEF
 :loop
 set/a y=%d%%%16
 set/a d=%d%%/16
 set y=!Str:~%y%,1!
 set e=%y%%e%
 if %d% geq 1 goto loop
 echo ------------------------------------------------------
 echo 正在创建注册表文件.
 ping -n 2 127.0.1>nul
 echo Windows Registry Editor Version 5.00> c:\Remote.reg
 echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]>> c:\Remote.reg
 echo "PortNumber"=dword:0000%e%>> c:\Remote.reg
 echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]>> c:\Remote.reg
 echo "PortNumber"=dword:0000%e%>> c:\Remote.reg
 echo 正在导入注册表文件以更改系统默认设置.
 ping -n 2 127.0.1>nul
 regedit /s c:\Remote.reg
 del c:\Remote.reg && echo 临时文件已经删除.
 ping -n 2 127.0.1>nul
 echo ------------------------------------------------------
 
 echo 端口已经修改完毕(重启生效!),修改防火墙策略.
 netsh advfirewall firewall delete rule name="mstsc_port%port%"
 netsh advfirewall firewall add rule name="mstsc_port%port%" protocol=TCP dir=in localport="%port%" action=allow remoteip=
 echo 防火墙打开远程端口[%port%] 成功!
 echo 按任意键退出...
 pause>nul

  三、补充--通过python对防火墙头添加规则

通过python实时添加ip及服务端口进行黑名单添加

1
2
3
4
5
6
import os
import time
#添加
os.system("netsh advfirewall firewall add rule name=%s dir=in action=block protocol=TCP remoteip=%s localport=%s" %("deny_3389","172.16.3.140",3389))
#删除
os.system("netsh advfirewall firewall delete rule name=%s " % "deny_3389")









本文转自 dyc2005 51CTO博客,原文链接:http://blog.51cto.com/dyc2005/1942075,如需转载请自行联系原作者