如何通过批处理文件打开Windows防火墙端口(How to open ports on Windo

2019-08-17 06:16发布

是否有一个批处理文件中的任何方式,通过一个批处理文件来打开Windows特定端口? 这将是不错的安装程序为我们的服务器应用程序做到这一点,而不是让用户手动完成。

Answer 1:

使用netsh.exe中 。 一个非常简单的批处理文件,需要一个端口参数:

@echo off
rem -- open port (first argument passed to batch script)
netsh advfirewall firewall add rule name="Open Port %1" dir=in action=allow protocol=TCP localport=%1 remoteip=10.15.97.0/24,10.17.0.0/16


Answer 2:

这是通过@Kevin理查森提供的溶液的扩展。 需要注意的是“Netsh的advfirewall的添加规则”命令将创建一个新的规则具有相同的名称每次运行相同的命令时。 下面的脚本有助于防止它

ECHO OFF
set PORT=8081
set RULE_NAME="Open Port %PORT%"

netsh advfirewall firewall show rule name=%RULE_NAME% >nul
if not ERRORLEVEL 1 (
    rem Rule %RULE_NAME% already exists.
    echo Hey, you already got a out rule by that name, you cannot put another one in!
) else (
    echo Rule %RULE_NAME% does not exist. Creating...
    netsh advfirewall firewall add rule name=%RULE_NAME% dir=in action=allow protocol=TCP localport=%PORT%
)


文章来源: How to open ports on Windows firewall through batch file