batでWindowsFirewallを無効化/有効化したかった話

はじめに

batからpowershellを呼び出してファイアウォールを無効化/有効化できるようにします。

コード

無効化用のbat「setFirewallDisable.bat」

@echo off

powershell Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

pause

有効化用のbat「setFirewallEnable.bat」

@echo off

powershell Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

pause

参考

動作イメージ

まずは有効化の状態

無効化用bat「setFirewallDisable.bat」を右クリックし、「管理者として実行」を左クリック

実行確認があるので、「はい」を左クリックする

ファイアウォールが無効化された

おわりに

ネットワーク周りの検証時にPC間でpingしようとして、片方向だけ通信できない場合はFirewallが原因であることが多いと思います。
また、一度無効化したと思ってもケーブルを繋げ変えたら有効化されてしまうことがあります(プライベートのみ無効化して、繋ぎ変えたらパブリックで上がった等)。そのため、複数人で作業する場合などは特にbatでまるっと無効化してしまうルールにした方が不要な切り分けが発生しないと思います。

いいなと思ったら応援しよう!