ファイアーウォールのルール(レジストリ値)を保存

個別に設定した受信の規則や送信の規則はレジストリの以下のエントリに保存される。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules
新しく作成したルールは一意のIDで登録される。(上図の上4つ)
Windows をインストールし直すたびに毎回設定するのは面倒なのでこのエントリを保存しとくと便利。
インストール時にSetupComplete.cmdであらかじめ登録しても構わないけど、私の場合PCによってはパスが変わるものもあるのでインストール完了後にツール類の設定と一緒に登録している。
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
例えば、E:\Tools\ABC\ABC.exe をブロックする場合、レジストリエントリは以下のようになる。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules]
"{********-****-****-****-************}"="v2.33|Action=Block|Active=TRUE|Dir=In|App=E:\\Tools\\ABC\\ABC.exe|Name=RX_ABC|"
"{********-****-****-****-************}"="v2.33|Action=Block|Active=TRUE|Dir=Out|App=E:\\Tools\\ABC\\ABC.exe|Name=TX_ABC|"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Action=Block : 接続をブロックする。
Dir=In : 受信の規則。
Dir=Out : 送信の規則。
名前は自由につけて構わないけど分かりやすいように受信にはRX_、送信にはTX_を頭につけている。