Windows批量添加防火墙例外端口

时间:2023-03-09 06:32:24
Windows批量添加防火墙例外端口

Windows下批量添加防火墙例外端口,查了网上资料,基本上都是使用“Netsh命令”,循环增加端口,这会导致建立的规则特别多,不便于管理,查了下微软的资料,原来是Netsh命令,只支持一个端口:

Windows批量添加防火墙例外端口

在我机器上执行Netsh命令时,提示不建议用这个了,推荐用:netsh advfirewall firewall

Windows批量添加防火墙例外端口

于是根据提示,查询:https://go.microsoft.com/fwlink/?linkid=121488

辗转查到更详细的文档:

https://technet.microsoft.com/en-us/library/dd734783(v=ws.10).aspx

主要关注以下几个参数:

Windows批量添加防火墙例外端口

如果是使用命令,在指定机器上执行,命令如下:

1.入站规则
netsh advfirewall firewall add rule name="SGAccessInboundRule" dir=in protocol=tcp action=allow localport=8061-8080,18061-18080
 
2.出站规则
netsh advfirewall firewall add rule name="SGAccessOutboundRule" dir=out protocol=tcp action=allow remoteport=8061-8080,18061-18080

如果管理的环境中,安装了saltstack,执行命令如下:

.入站规则
salt "DEV-SH-TTP-01" cmd.run “netsh advfirewall firewall add rule name="SGAccessInboundRule" dir=in protocol=tcp action=allow localport=8061-8080,18061-18080” .出站规则
salt "DEV-SH-TTP-01" cmd.run “netsh advfirewall firewall add rule name="SGAccessOutboundRule" dir=out protocol=tcp action=allow remoteport=8061-8080,18061-18080”

如果有多台机器,saltstack命令中用逗号分隔开主机名即可。

遇到的坑:

1.执行的命令中,不能含有中文,否则建出的规则是乱码

2.执行命令中,不能含有空格、括号“()”,否则创建不成功