How To

PowerShell を使用してファイアウォール設定を管理する方法

February 16, 2026 1 分で読む Updated: February 16, 2026

PowerShell で Windows ファイアウォールを操作するのは、一度コツをつかんでしまえば実はかなり簡単です。テストやトラブルシューティングなどですばやく切り替えたい場合は、メニューやスライダーをクリックするよりも、コマンドラインを使用する方が簡単です。ただし、警告しておきますが、Windows ファイアウォールは非常に重要なセキュリティ層です。絶対に必要な場合を除いて、常に無効にする必要はありません。無効にする場合は、念のため後でオンに戻すのが最善です。CLI からこの操作を行うのは、特に PowerShell を管理者として実行していない場合は少し面倒な場合があります。そのため、必ず昇格した権限で PowerShell を開いてください。また、すべてのプロファイルを対象とするのか、特定のプロファイルだけを対象とするのかを知っておくと役立ちます。セットアップによっては、切り替えがすぐに行われなかったり、数回再試行する必要がある場合があります。奇妙ですが、Windows は必要以上に物事を複雑にする必要がある場合もあります。

PowerShell を使って Windows ファイアウォールを有効または無効にする方法

方法1:すべてのプロファイルをすばやく有効化/無効化する

このコマンドは、すべてのネットワークプロファイルのファイアウォールを有効または無効にします。システムに不具合が生じ、ファイアウォールが問題の原因になっているかどうかを確認したい場合に便利です。このコマンドは、ドメイン、プライベート、パブリックのプロファイルすべてに適用されます。

  • PowerShell を管理者として開きます ( Windows + X を押して、Windows PowerShell (管理者)を選択します) 。
  • これを入力してEnter :Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled Trueを押すとオンになり、TrueをFalseに置き換えるとオフになります。

方法2: 特定のプロファイルをターゲットにする

特定のプロファイル(例えばプライベートネットワークのみ)のファイアウォールのみを切​​り替えたい場合も、同様のコマンドで可能です。職場、自宅、公共Wi-Fiごとに異なるルールを設定している場合に便利です。ネットワークプロファイルが正しく切り替わらない、あるいはどのプロファイルをアクティブにするかを厳密に制御する必要がある場合もあります。

  • パブリック プロフィールのみを有効にするには:Set-NetFirewallProfile -Profile Public -Enabled True
  • プライベート プロファイルを無効にするには:Set-NetFirewallProfile -Profile Private -Enabled False

現在のファイアウォールの状態を確認する

コマンドが何かを実行したかどうかわからない場合は、次のコマンドを実行して現在の状態を確認します。

Get-NetFirewallProfile | Format-Table Name, Enabled

ファイアウォールをリモートで無効化または有効化する(ネットワークマジックを活用)

リモート操作を行うには、対象PCでWinRMが設定されている必要があります。まだ設定していない場合は、こちらのガイドをご覧ください。ローカルマシンでは、以下のようなコマンドを使用します。

単一のリモートコンピュータでファイアウォールを無効にする

Enter-PsSession -ComputerName remotePC-name Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False

remotePC-name をリモートマシンの実際の名前またはIPアドレスに置き換えてください。また、ユーザーに適切な権限があり、ターゲットでWinRMが有効になっていることを確認してください。

複数のリモートコンピュータで無効にする

上記と似ていますが、ループが入っています。簡単な例を以下に示します。

$computers = @('pc1', 'pc2', 'pc3') $computers | ForEach-Object { Invoke-Command -ComputerName $_ -ScriptBlock { Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False } }

これにより、リストされているすべてのマシンで無効化コマンドが実行されます。手動で1台ずつ実行する手間が省けます。

ファイアウォール制御にコマンドプロンプト(Netsh)を使用する

従来のコマンドプロンプト(またはバッチスクリプト)をご利用の場合は、netsh も引き続きご利用いただけます。すべてのプロファイルでファイアウォールを有効/無効にするには、以下の手順に従ってください。

CMD経由でファイアウォールを有効にする

  • Windows + Rで「実行」を開き、入力してCtrl + Shift + Entercmdを押して管理者として実行します。
  • すべての場所でファイアウォールをオンにするには、次のように入力します。netsh advfirewall set allprofiles state on

CMDでファイアウォールを無効にする

  • 上記と同じですが、次のように入力します。netsh advfirewall set allprofiles state off

特定のプロファイルのみを制御したい場合は、allprofiles をpublicprofiledomainprofile、またはprivateprofileに置き換えてください。例えば、パブリックプロファイルをオフにするには、次のようにします。

netsh advfirewall set publicprofile state off

ステータスを確認するには、次のように netsh advfirewall show allします。ただし、使い慣れていないと混乱する可能性のある冗長な出力が表示される可能性があるので、注意してください。

ネットワークプロファイルを理解する

多くの場合、ファイアウォールの適用方法は、ネットワークがドメイン、パブリック、プライベートのいずれに設定されているかによって異なります。例えば、プライベートプロファイルでファイアウォールをオンにしておくことは、一般的に自宅のネットワークでは問題ありませんが、公共のWi-Fiではリスクがある可能性があります。Windowsは、パブリックネットワークでは特定の共有オプションをデフォルトでオフにしており、これはセキュリティ上有効です。ただし、これらのプロファイルを切り替えると、アクセスできるものとブロックされるものが直接影響を受けるため、注意して使用してください。

関連する質問(もちろん、さらに多くの質問がポップアップ表示されるため)

グラフィカル インターフェイスを通じてファイアウォールを有効/無効にする方法は?

Windowsの設定からも設定できます。「設定」>「プライバシーとセキュリティ」>「Windows セキュリティ」>「ファイアウォールとネットワーク保護」と進み、プロファイルを選択してスイッチを切り替えます。コマンドラインが苦手な方でも、素早く簡単に設定できます。

Windows ファイアウォールでアプリを許可する簡単な方法

信頼できるアプリがブロックされた場合は、[設定] からホワイトリストに追加できます。

  1. Windows セキュリティ アプリを開きます ( Windows + I を押して、「プライバシーとセキュリティ」に移動し、「ファイアウォールとネットワーク保護」をクリックします)。
  2. 「ファイアウォールによるアプリの許可」をクリックします。
  3. 「設定の変更」を選択し、アプリの横にあるチェックボックスをオンにするか、「別のアプリを許可」を使用して手動で追加します。

ファイアウォールを長期的に無効にしても安全ですか?

一般的には、それほど重要ではありません。これはトラブルシューティングや干渉の一時的な遮断に過ぎませんが、オフのままにしておくと、PCがマルウェア、ハッキング、その他あらゆる悪質な攻撃に対して脆弱になります。ネットワークに問題がないと確信できる場合にのみ実行し、できるだけ早くオンに戻してください。

これで誰かの頭痛の種が一つや二つ解消されることを願っています。PowerShellからファイアウォールのオン/オフを切り替えるのは、何度か経験してみればそれほど難しくありません。プロファイルを知っていれば、さらに柔軟に操作できます。セキュリティを念頭に置いておけば、大丈夫です。

まとめ

  • PowerShell コマンドを使用すると、すべてのプロファイルまたは特定のプロファイルに対して Windows ファイアウォールを切り替えることができます。
  • リモート管理には、対象の PC に WinRM を設定する必要があります。
  • コマンド プロンプトは `netsh advfirewall` コマンドでも機能します。
  • プロファイルは、さまざまなネットワーク上でのファイアウォールの動作を決定します。
  • テストが完了したら、必ずファイアウォールを再度有効にしてください。

まとめ

CLIからファイアウォール設定をいじれば、特に複数のマシンを管理している場合やスクリプトを作成する必要がある場合は、時間を節約できます。ただし、セキュリティ機能をオフにするのは日常的な使用には適していないため、必ずオンに戻すようにしてください。PowerShellを使えば、クイックトグルからリモート管理まで、設定さえうまくいけば、ある程度管理しやすくなります。この記事が誰かの時間と混乱を少しでも軽減してくれることを願っています。