Windowsファイアウォールのルールをコマンドで操作する netsh advfirewall の設定例
目次
忘れそうなのでメモ。Windows 10/8.1/7を対象にしています。
Ping応答要求(ICMP)をオール許可
既存のPing応答要求関連のルール「有効」にして、 ドメイン、プライベート、パブリック の全てを許可するルールに変更する場合の例。
ルールを変更する場合は set と new を組み合わせて使います。
行末の >nul は実行結果を表示させないようにするコマンドです。結果を表示したいときは省いてください。
::ICMPv4
netsh advfirewall firewall set rule name="ファイルとプリンターの共有 (エコー要求 - ICMPv4 受信)" profile=public new enable=yes profile=any >nul
netsh advfirewall firewall set rule name="ファイルとプリンターの共有 (エコー要求 - ICMPv4 受信)" profile=private new enable=yes profile=any >nul
netsh advfirewall firewall set rule name="ファイルとプリンターの共有 (エコー要求 - ICMPv4 受信)" profile=private,public new enable=yes profile=any >nul
::ICMPv6
netsh advfirewall firewall set rule name="ファイルとプリンターの共有 (エコー要求 - ICMPv6 受信)" profile=public new enable=yes profile=any >nul
netsh advfirewall firewall set rule name="ファイルとプリンターの共有 (エコー要求 - ICMPv6 受信)" profile=private new enable=yes profile=any >nul
netsh advfirewall firewall set rule name="ファイルとプリンターの共有 (エコー要求 - ICMPv6 受信)" profile=private,public new enable=yes profile=any >nul
UltaraVNC関連をオール許可
UltraVNCをインストールしたときに登録されるファイアウォールのルールを一度削除いして、 ドメイン、プライベート、パブリック の全てを許可するルール追加する場合の例。
delete でルールを削除し、 add でルールを追加します。
::port 5800
netsh advfirewall firewall delete rule name="vnc5800" >nul
netsh advfirewall firewall add rule name="vnc5800" dir=in action=allow protocol=TCP localport=5800 enable=yes profile=any >nul
::port 5900
netsh advfirewall firewall delete rule name="vnc5900" >nul
netsh advfirewall firewall add rule name="vnc5900" dir=in action=allow protocol=TCP localport=5900 enable=yes profile=any >nul
::winvnc UDP TCP
netsh advfirewall firewall delete rule name="winvnc.exe" >nul
netsh advfirewall firewall add rule name="winvnc.exe" dir=in action=allow protocol=UDP program="C:\Program Files\uvnc bvba\UltraVNC\winvnc.exe" enable=yes profile=any >nul
netsh advfirewall firewall add rule name="winvnc.exe" dir=in action=allow protocol=TCP program="C:\Program Files\uvnc bvba\UltraVNC\winvnc.exe" enable=yes profile=any >nul
Citrix HDX Engineをオール許可
Citrix Reciever をインストールして最初に仮想デスクトップにアクセスしたときに「Citrix HDX Engine」をブロックするルールをファイアウォールに追加したメッセージが出たので、ブロックするルールが追加される前にあらかじめ ドメイン、プライベート、パブリック の全てを許可するルール追加する場合の例。
すべてブロックするルールにしたいときは action=allow の部分を action=block に変更してください。
::Citrix HDX Engine TCP UDP
netsh advfirewall firewall delete rule name="Citrix HDX Engine" >nul
netsh advfirewall firewall add rule name="Citrix HDX Engine" description="Citrix HDX Engine" dir=in action=allow program="C:\Program Files (x86)\Citrix\ICA Client\wfica32.exe" protocol=TCP enable=yes profile=any >nul
netsh advfirewall firewall add rule name="Citrix HDX Engine" description="Citrix HDX Engine" dir=in action=allow program="C:\Program Files (x86)\Citrix\ICA Client\wfica32.exe" protocol=UDP enable=yes profile=any >nul
ルールの状態を確認するコマンド例
show でルールの状態を確認できます。
netsh advfirewall firewall show rule name="ファイルとプリンターの共有 (エコー要求 - ICMPv4 受信)"