久しぶりにバッチファイルを書いてみました。
今回はXPのファイアウォールの設定をするためのバッチファイルです。Vistaの場合はまた書き方が違うのでほぼXPのSP2でしか使えないのですが、とても便利です。
@ECHO OFF SET ConfigFile=%~dp0FWSetup.log :// 最初の設定を取得 ECHO ※変更前の設定 > %ConfigFile% netsh firewall show config >> %ConfigFile% ECHO -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >> %ConfigFile% ECHO. >> %ConfigFile% :// 設定をいったんリセット ECHO 環境を初期化 netsh firewall reset ://************************** 通信ポート設定(ここから) ****************************// :// IIS接続許可 ECHO IIS接続許可 netsh firewall add portopen tcp 80 HTTPSERVER ENABLE ALL :// netbios接続設定 ECHO netbios接続設定 netsh firewall delete portopening ALL 137 netsh firewall delete portopening ALL 138 netsh firewall delete portopening ALL 139 netsh firewall add portopen TCP 139 NETBIOSセッション ENABLE ALL :// ダイレクトホスティング接続 ECHO ダイレクトホスティング接続設定 netsh firewall delete portopening ALL 445 netsh firewall add portopen ALL 445 SMBDirect ENABLE ALL ://************************** 通信ポート設定(ここまで) ****************************// ://************************** ICMP設定(ここから) ****************************// ECHO ICMPの設定 :// destination unreachable netsh firewall SET ICMPSETTING 3 ENABLE :// redirect netsh firewall SET ICMPSETTING 5 ENABLE :// echo request netsh firewall SET ICMPSETTING 8 ENABLE ://↑ echo requestはport445を有効にした段階で自動で有効化されるが、明示的に :// 許可している事を示す為に8を有効化する ://************************** ICMP設定(ここまで) ****************************// :// その他(ブロック時の通知をしない) ECHO ブロック時の通知をしないよう設定 netsh firewall set notifications DISABLE ECHO ※変更後の設定 >> %ConfigFile% netsh firewall show config >> %ConfigFile% :// 結果を表示 notepad %ConfigFile% ECHO 作業完了 PAUSE > NUL