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