「Windowsファイアウォールを無効化またはオフにする理由は何ですか?」
Windowsのファイアウォールを無効にする理由はさまざまです。もちろん、すべての理由が正当なものとは言えませんが、合理的な理由も存在します。
この記事では、Windowsファイアウォールを無効にする方法について学びます。単一マシンの設定、ホームネットワーク、または企業環境のいずれにおいても、この記事は役立ちます。
Windowsのソフトウェアファイアウォールをあらゆる方法で無効にする方法を学びます!
- Windowsファイアウォールの管理コンソールを使用する
- コマンドライン(cmd.exe)
- PowerShell
- グループポリシー
- Azure仮想マシンの場合、Azureカスタムスクリプト拡張機能も使用できます。
それでは、始めましょう!
前提条件
この記事はハウツー記事なので、手順に従うためにはいくつかの要件があります。いくつかの例はドメイン環境と非ドメイン環境を対象としています。
非ドメイン環境の場合
- Windows 10を実行している1台以上のコンピュータが必要です。ここでの例は1台のコンピュータで実行することもできますが、一部の手順はリモート操作に特化しています。
- また、それらのWindows 10コンピュータには管理者権限が必要です。
ドメイン環境の場合
- A Windows 2019 server that is also a domain controller. A Windows 2016 server should also work.
- 同じネットワークに接続され、ドメインに参加している1台以上のWindows 10コンピュータが必要です。
GUIを使用する
おそらく、ファイアウォールを無効にする最も簡単な方法は、Windowsに組み込まれているGUIツールを使用することです。ホームユーザーにとっては、GUIを使用してWindowsファイアウォールをオフにするのが最も簡単な方法でしょう。
Windows Securityアプリを使用する
管理する最初のGUIツールはWindows Securityアプリです。Windows SecurityアプリはWindows 10のバージョン1703以降で利用可能です。
- Windows Securityアプリを起動するには、[スタート]ボタンをクリックしてからWindows Securityと入力し、検索結果に表示されたWindows Securityアプリをクリックして開くをクリックします。

2. Windows Securityアプリのホーム画面にはさまざまなメニューアイテムが表示されます。ファイアウォールとネットワークの保護を探し、クリックして開きます。

3. ファイアウォールとネットワークの保護ページには、さまざまなネットワークプロファイルが表示されます。これらのネットワークプロファイルには、ドメインネットワーク、プライベートネットワーク、およびパブリックネットワークがあります。これらのネットワーク接続場所ごとにファイアウォールをオフにすることができます。この例では、プライベートネットワークプロファイルを選択する必要があります。

4. この例では、プライベートネットワークプロファイルが選択されています。プライベートネットワークの設定に入ったら、Windows Defenderファイアウォールをオフにするためにスイッチをクリックします。

必要に応じて、他のネットワークプロファイルに対しても同じ手順を繰り返します。
Windows Defenderファイアウォールコントロールパネルを使用してWindowsファイアウォールを無効にする
別のGUIツールは、Windows Defenderファイアウォールコントロールパネルです。Windowsセキュリティアプリとは異なり、Windows Defenderファイアウォールコントロールパネルは、Windows 10アプリのモダンなインターフェースではなく、クラシックなコントロールパネルアイテムの外観を提供しています。
以下に、Windows Defenderファイアウォールコントロールパネルを起動するためのいくつかの方法があります。
方法1:Control Panel —> System and Security —> Windows Defender Firewallに移動します。

方法2:スタートメニューを開き、「windows defender firewall」と入力します。 Windows Defenderファイアウォールのリンクをクリックします。

方法3:実行ダイアログボックスを開き、control firewall.cpl
と入力してOKをクリックします。

Windows Defenderファイアウォールコントロールパネルでは、おなじみのネットワークプロファイルのリストが表示されます。 ドメインネットワーク、プライベートネットワーク、およびゲストまたはパブリックネットワーク。左側にあるWindows Defenderのオンまたはオフのリンクをクリックします。

カスタマイズ設定ページでは、各ネットワークプロファイルに対してWindowsファイアウォールを無効にするオプションがあります。以下の例では、Windowsファイアウォールはすべてのネットワークプロファイルでオフになっています。

コマンドラインの使用
おそらく既にご存知のように、WindowsのGUI操作のほとんど、もしくはすべてには、コマンドラインの対応があります。コマンドラインを使用すると、GUIオプションを使用する場合に比べて、場所を移動する手間が省けることがあります。
さらに、コマンドラインオプションを使用すると、タスクをスクリプト化または自動化することもできます。
NETSHコマンドを使用してWindowsファイアウォールを無効にする
古いですが便利なユーティリティであるnetsh
は、コンピューターのネットワーク構成を管理するために使用できます。この場合は、Windowsファイアウォールを無効にするために使用します。
netsh advfirewall set
コマンドを使用すると、各場所またはすべてのネットワークプロファイルでWindowsファイアウォールを個別に無効にできます。
netsh advfirewall set currentprofile state off
– このコマンドは、アクティブまたは接続されている現在のネットワークプロファイルのファイアウォールを無効にします。たとえば、現在アクティブなネットワークプロファイルがドメインネットワークである場合、このコマンドはそのネットワークプロファイルのファイアウォールを無効にします。netsh advfirewall set domainprofile state off
– ドメインネットワークプロファイルのみで無効にします。netsh advfirewall set privateprofile state off
– プライベートネットワークプロファイルのみで無効にします。netsh advfirewall set publicprofile state off
– このコマンドは、パブリックネットワークプロファイルのみで無効にします。netsh advfirewall set allprofiles state off
– このコマンドは、すべてのネットワークプロファイルで一度に無効にします。
以下のデモンストレーションでは、上記の各コマンドを実行しています。

Set-NetFirewallProfile
PowerShell Cmdletを使用する
Windows 10およびWindows Server 2012以降には、NetSecurity PowerShellモジュールが組み込まれています。このNetSecurity PowerShellモジュールには、ネットワークおよびネットワークセキュリティの設定に関連するコマンドレットが含まれています。そのうちの1つがSet-NetFirewallProfile
で、これを使用してWindowsファイアウォールを無効にすることができます。
Set-NetFirewallProfile
の構文は以下の通りです。
以下のコマンドは、Public、Private、およびDomainネットワークプロファイルでファイアウォールを無効にします。
以下のデモンストレーションは、上記のコマンドを使用してWindowsファイアウォールを無効にするSet-NetFirewallProfile
の動作を示しています。

プロファイル名を指定せずに、-All
パラメータースイッチを使用してすべてのネットワークプロファイルでWindowsファイアウォールを無効にする方法を以下の例に示します。

PowerShellを使用してリモートでWindowsファイアウォールを無効にする方法
多数のコンピューターでファイアウォールを無効にする必要がある場合、各コンピューターに手動でログインしてコマンドを実行するのは非効率です。特にネットワーク環境では、PowerShellを使用してリモートで無効にすることができます。
注意:この手順では、対象のコンピュータでWinRMがすでに有効になっている必要があります。ほとんどの場合、WinRMはドメインに参加したコンピュータに対してリモート管理の目的ですでに設定されています。
詳細については、Windowsリモートシェルの有効化方法を参照してください。
1つずつWindowsファイアウォールを無効にする場合は、Enter-PsSession
コマンドレットを使用してリモートコンピュータにコマンドを発行することができます。
以下の例では、コマンドはdcという名前のサーバーから発行され、リモートコンピュータの名前はdesktop1です。使用されるコマンドは以下に示されています。
上記のコードをPowerShellで実行すると、以下のデモと同様の出力が得られます。

上記の手順は、数台のリモートコンピュータで作業している場合に適しています。しかし、無効にする必要があるコンピュータが大量にある場合は、スクリプトに適したアプローチが必要です。その場合は、Invoke-Command
コマンドレットを使用できます。
上記のコードからわかるように、リモートコンピュータの名前は$computers
変数に配列として格納されています。それから、PowerShellは各リモートコンピュータをループしてInvoke-Command
コマンドレットを実行し、Set-NetFirewallProfile -All -Enabled False
コマンドを発行します。期待する結果については、以下のデモを参照してください。

グループポリシーの使用
GPOを展開することで、システム管理者はドメイン内の選択されたコンピュータまたはすべてのコンピュータのWindowsファイアウォールをオフにすることができます。展開後、Windowsファイアウォールの無効化は、ポリシーによって自動化され、適用範囲内のすべてのコンピュータに対して強制されます。
GPOの作成
GPOを作成するには、サーバー上でグループポリシー管理コンソールを起動する必要があります。これを行うには、実行ダイアログでgpmc.msc
コマンドを実行します。

gpmc.msc
command in the Run dialogグループポリシー管理コンソールで、フォレストを展開し、GPOを作成するドメインを選択します。以下のイメージでは、GPOがxyz.intドメインに作成されています。ドメインを右クリックし、「このドメインでGPOを作成し、ここにリンクする…」をクリックします。

新しいGPOダイアログボックスが表示されます。 名前ボックスにWindowsファイアウォールを無効にすると入力し、OKボタンをクリックします。

次に、新しいGPOを右クリックし、編集をクリックします。GPOはグループポリシー管理エディタで開きます。その後、これらのフォルダを展開しますコンピューターの構成 —> ポリシー —> 管理用テンプレート —> ネットワーク —> ネットワーク接続 —> Windows Defender —> ファイアウォール —> ドメインプロファイル。
右ペインの設定リストで、Windows Defenderファイアウォール: すべてのネットワーク接続を保護するをダブルクリックしてプロパティを開きます。

設定プロパティが開いたら、値を無効に変更し、OKをクリックします。

標準プロファイル設定に同じオプションを繰り返して適用します。それから、グループポリシー管理エディタウィンドウを閉じることができます。
全ドメインコンピュータにGPOを展開する
GPOを作成したら、ドメインコンピュータにGPOを展開する必要があります。
GPOを適用するには、グループポリシー管理でWindowsファイアウォールの無効化 GPOを選択します。次に、スコープタブで、セキュリティフィルタリングセクションの追加ボタンをクリックします。

ユーザー、コンピュータ、またはグループの選択ダイアログボックスで、ドメインコンピュータを検索し、OKをクリックします。これにより、ドメインコンピュータグループのメンバーであるすべてのコンピュータにGPOが適用されます。

以上です!次回のクライアントコンピュータのポリシーアップデート時に、ファイアウォールが無効になります。
GPOが作成および展開されたので、ポリシーアップデートを強制することで、GPOが機能しているかどうかをテストできます。クライアントコンピュータでgpupdate /force
を実行してポリシーアップデートをテストします。

上記の結果からわかるように、ポリシーがクライアントコンピュータに適用されるとすぐに、Windowsファイアウォールの無効化設定が適用されます。また、システム管理者によって設定が管理されているという情報ボックスも表示されます。

注意: 通常のユーザーとコンピューターのグループポリシーの自動更新間隔は、90分です。さらに、コンピューターの起動時やユーザーのログイン時にもグループポリシーが更新されます。
Azure仮想マシンでWindowsファイアウォールを無効にするためにカスタムスクリプト拡張機能を使用する
Azure仮想マシンにアクセスできなくなった場合、Windowsファイアウォールがトラフィック(RDPを含む)をブロックしている可能性があります。Windowsファイアウォールに変更を加え、自分自身をロックアウトしてしまったかもしれません!
この記事で以前に説明された方法をすべて試してもうまくいかない場合でも、まだ希望はあります。Azure仮想マシンのゲストOS内でWindowsファイアウォールを無効にするには、Azureカスタムスクリプト拡張機能を利用します。
主な手順は次のとおりです:
- Windowsファイアウォールを無効にするためのコマンドが含まれたPowerShellスクリプト(*.PS1)を作成します。
- Azureポータルを使用して、Azure仮想マシンにカスタムスクリプト拡張機能をインストールします。
- PowerShellスクリプトをAzure Storageにアップロードします。
- スクリプトはAzure仮想マシンのゲストOSで自動的に1回だけ実行されます。
この例では、テストVMの名前はdevmachine1で、Windowsファイアウォールは有効な状態です。
注意:進める前に、アカウントに適切なAzure RBACロールがあることを確認してください。
Disable-Windows-Firewall.ps1
スクリプトの作成
前のセクションで、Windowsファイアウォールを無効にするための利用可能なコマンドを学びました。この例では、netsh
ユーティリティを使用します。
お好きなコードエディタまたはテキストエディタで、名前をDisable-Windows-Firewall.ps1とした新しいファイルを作成します。スクリプトを編集し、次のコード行を追加します:netsh advfirewall set allprofiles state off
。編集が完了したら、スクリプトを保存します。以下はPowerShellで簡単に行う方法です。
カスタムスクリプト拡張機能のインストールとPowerShellスクリプトのアップロード
スクリプトの準備ができたので、次のステップはカスタムスクリプト拡張機能をインストールし、スクリプトをAzure Storageの場所にアップロードすることです。そして、拡張機能がインストールされると、スクリプトは自動的にAzure VMに対して実行されます。
- まず、Azureポータルにログインし、Azure VMリソースを見つけて開きます。この例では、Azure VMの名前はdevmachine1です。次に、拡張機能ブレードに移動し、追加ボタンをクリックします。
- 新しいリソースページで、カスタム スクリプト拡張を見つけてクリックします。次に、作成をクリックします。拡張機能のインストールページで、スクリプト ファイル (必須) ボックスの隣にある参照ボタンをクリックします。
- リストからストレージ アカウントを選択します。この例では、ストレージ アカウントの名前はstoragexyz01です。cont1という名前のコンテナが表示されますので、スクリプト ファイルをアップロードするコンテナをクリックします。
注意: まだ Azure ストレージ アカウントやコンテナをお持ちでない場合は、Azure ストレージ アカウントの作成を参照して作成手順を確認してください。
- コンテナを選択したら、アップロードをクリックし、コンピュータ上に作成したdisable-windows-firewall.ps1 ファイルを参照します。ファイルを選択したら、アップロードボタンをクリックします。
- これで、コンテナ内にdisable-windows-firewall.ps1ファイルが表示されるはずです。リストからdisable-windows-firewall.ps1をクリックし、選択をクリックします。これで、拡張機能のインストールページに戻り、最終的にOKをクリックして拡張機能のインストールを開始します。
この時点で、拡張機能の展開を待つだけで、アップロードしたスクリプトも自動的に実行されます。全体のプロセスを確認するには、以下のデモを参照してください。

サマリー
この記事では、Windowsの組み込みのGUIツールを使用してWindowsファイアウォールを無効にする方法を学びました。また、netsh
やPowerShellを使用してローカルまたはリモートでWindowsファイアウォールを無効にする方法も学びました。
さらに、ドメインコンピューターのWindowsファイアウォールを無効にするためのグループポリシーオブジェクトの作成と展開方法も学びました。最後に、Azure VMのゲストOSでWindowsファイアウォールを無効にするためにAzureカスタムスクリプト拡張機能を使用する方法も学びました。
Windowsファイアウォールを無効にするためのさまざまな方法があります。この記事ではいくつかの方法を紹介しましたが、PsExecを使用してリモートで無効にするなど、自分で試してみることもできます。
さらなる参考資料
Source:
https://adamtheautomator.com/disable-windows-firewall/