一、说明
为了安全我们经常对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,如需转载请自行联系原作者