windows server2008增加了一個名叫netsh的指令行工具,通過它可以用批處理方式添加防火牆出入棧規則:
入棧規則:
set port=3389
set rule_name="_遠端連接配接端口:%port% 入棧規則"
netsh advfirewall firewall show rule name=%rule_name% >nul
if not errorlevel 1 (
rem 對不起,規則 %rulename% 已經存在
) else (
echo 規則 %rulename% 建立中...
netsh advfirewall firewall add rule name=%rule_name% dir=in action=allow protocol=tcp localport=%port%
)
出棧規則:
set rule_name="_遠端連接配接端口:%port% 出棧規則"
netsh advfirewall firewall add rule name=%rule_name% dir=outaction=allow protocol=tcp localport=%port%
參考:http://stackoverflow.com/questions/15171255/how-to-open-ports-on-windows-firewall-through-batch-file