Windowsファイアウォールをコマンドで制御する

前回、リモートデスクトップ接続をコマンドで制御した際、ファイアウォールの設定で、非常に多いコマンド内容で面倒だなと思っていたのですが、netshで対応できるとのことだった。

(参考)コマンドでのwindowsファイアウォールの無効化 (俺的備忘録 〜なんかいろいろ〜)

netsh advfirewall set allprofiles state off

offにすれば無効だし、onにすれば有効だった。
リモートデスクトップ接続を有効にするには、

set SETPC=”\HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server”
reg add %SETPC% /v “fDenyTSConnections”/t REG_DWORD /d 0 /f

という具合に、reg add でレジストリの書き換えを行う必要があるのだ。
これと、netsh advfirewall~との抱き合わせでコマンドを用意するのも1つの手かもしれない。

さらにこのブログでは、すべてのプロファイルでリモート管理を有効にするコマンドが紹介されていたので備忘録的に記入したい。

netsh advfirewall set allprofiles settings remotemanagement enable

無効にしたければ、enableをdisableにすればいい。

(参考)セキュリティが強化された Windows ファイアウォール netsh advfirewall コマンド (Technet)

(参考)Server Coreのリモート管理[W2K8] (にわか管理者のためのWindowsサーバ入門) ※おすすめ※

特定のグループに対して、リモートデスクトップ接続を有効にさせる方法が紹介されている。

例外設定のグループを個別に有効化する
netsh advfirewall firewall set rule group=”<グループ名>” new enable=yes

例外設定のグループを個別に無効化する
netsh advfirewall firewall set rule group=”<グループ名>” new enable=no

(参考)ファイアウォールをnetshコマンドで制御する (@IT)

(参考)「ファイアウォール」コンテキストで Windows Server 2008 と Windows Vista の Windows ファイアウォールの動作を制御するのではなく、「netsh advfirewall ファイアウォール」コンテキストを使用する方法(Microsoftサポート)