Windows ファイアウォールをコマンドラインで設定する方法
netsh コマンドを使えば、コマンドラインからさまざまなネットワーク設定ができる。Windows ファイアウォールの例外にプログラムを追加する方法を調べたのでメモっとく。
C:\hoge> netsh firewall add allowedprogram program = (path) name = (表示する名称)
netsh は、コマンドラインで netsh だけを入力して ENTER すると、対話的に設定や確認ができるシェルが起動する。そのシェルのヘルプを見ながら試行錯誤。
最初、プログラムを指定するための path の部分が Program Files の下にあって、パス名に空白を含むのがまずくてうまくいかないのかと思ったら、name が必須だったらしい。
これ、以外と便利。サーバーポートを開くアプリケーションを起動すると、「ブロックを解除しますか?」と問い合わせるダイアログを見たことある人は多いと思う。そこで解除すると、Windows ファイアウォールの例外タブの画面には、その実行ファイル名が表示される。でも実行ファイル名だとなんだか分からんのが多い。そこで、
C:\hoge> netsh firewall add allowedprogram program = "C:\Program Files\Apache Group\Apache2\bin\Apache.exe" name = "Apache HTTP Server 2.2"
とかすると、例外タブでの表示を変更できる。(GUIでは表示名を変更できない)
他の人のパソコンで、
C:\hoge> netsh firewall add allowedprogram program = "C:\WINDOWS\Notepad.exe" name = "Winny暴露ウィルス2006"
とかして、脅かしたりしちゃだめよ。