Windows Firewall の例外登録

以前の記事で、SQL Server 用で使用するポートのファイアウォールへの例外登録を紹介したのですが、
その際、netsh firewall コマンドを記載しました。
しかしながら、Vista 以降は、netsh advfirewall firewall を使った方がよいので、もう一度、紹介します。

プロセス(exe)を登録する場合

netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yes

ポート番号を登録する場合

netsh advfirewall firewall add rule name=”Open Port 80” dir=in action=allow protocol=TCP localport=80

ついでに、スクリプトを使う方法も紹介します。

Set objFirewall = CreateObject("HNetCfg.FwMgr")
Set objPolicy = objFirewall.LocalPolicy.CurrentProfile

Set objApplication = CreateObject("HNetCfg.FwAuthorizedApplication")
objApplication.Name = "デモ用サンプル"
objApplication.IPVersion = 2
objApplication.ProcessImageFileName = "C:\DEMO\CheckOSVer.exe"
objApplication.RemoteAddresses = "*"
objApplication.Scope = 0
objApplication.Enabled = True

Set colApplications = objPolicy.AuthorizedApplications
colApplications.Add(objApplication)

インストーラーや初回設定ユーティリティで使うことがあるかと思いますので、参考に。