図 Windows XPでインタラクティブ・モードから対話型でコマンドを実行した画面
図 Windows XPでインタラクティブ・モードから対話型でコマンドを実行した画面
[画像のクリックで拡大表示]

netsh firewall add portopening [protocol=] {TCP|UDP|ALL} [port=] ポート番号 [name=] 名前

 Windowsファイアウォールでの通信の許可/不許可は,ポート番号やプログラム名などで指定できます。この指定はGUI画面以外にnetsh firewallコマンドを使っても実行できます。

 コンピュータの用途に合わせて,普段はWindowsファイアウォールで許可していない通信を許可することが必要な場合があるでしょう。もし状況に応じて定型的なWindowsファイアウォールの設定変更を頻繁に実行するような場合には,設定を変更するコマンドを複数まとめて記述したバッチ・モード向けのバッチ・ファイルを作成しておけば,そのファイルを実行するだけで簡単にWindowsファイアウォールの設定を変更することができ便利です。

 また,Active Directory環境であればグループ・ポリシーを使って,複数のコンピュータに一括でWindowsファイアウォールを設定することができますが,ワークグループ環境のコンピュータではグループ・ポリシーが使えないため1台ずつ設定する必要があります。そんな場合もバッチ・モードのコマンドを記述したバッチ・ファイルを使えば,比較的簡単に設定できます。

 例えば,現在使用中のプロファイルの Windowsファイアウォールを,例外を許可する状態で有効にし,TCPの80番ポート経由の通信および,sample.exeとの通信を許可する場合は,次のようなコマンドをバッチ・ファイルに記述します。

netsh firewall set opmode mode = ENABLE
netsh firewall add portopening protocol = TCP port = 80 name = sample1
netsh firewall add allowedprogram program = c:\sample.exe name = sample2

 なお,同様の設定をインタラクティブ・モードから実行する場合は,以下のようなコマンドとなります(図)。

netsh
firewall
set opmode mode = ENABLE
add portopening protocol = TCP port = 80 name = sample1
add allowedprogram program = c:\sample.exe name = sample2