今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

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"

とかして、脅かしたりしちゃだめよ。