PowerShellでWindowsファイアウォールを管理!Set-NetFirewallProfileの使い方を徹底解説

Windowsのファイアウォール設定を変更する方法はいくつかありますが、その中でもPowerShellを使った管理は、効率的かつ自動化にも適した手段です。特に「Set-NetFirewallProfile」コマンドを活用することで、ドメイン、プライベート、パブリックの各プロファイルの設定を変更でき、企業やシステム管理者にとって強力なツールとなります。

この記事では、「Set-NetFirewallProfile」の基本的な使い方から、具体的な設定変更の方法、さらには応用例まで詳しく解説します。PowerShellを活用してWindowsのセキュリティを強化したい方は、ぜひ最後までご覧ください。


Set-NetFirewallProfileとは?

「Set-NetFirewallProfile」 は、WindowsのPowerShellでファイアウォールのプロファイル設定を変更するためのコマンドレットです。このコマンドを使用することで、ファイアウォールの有効/無効の切り替え、ログの設定、通知の有効化などを行うことができます。

対応しているプロファイル

Windowsのファイアウォールには、以下の3つのプロファイルがあります。

  • Domain(ドメイン):Active Directoryに参加しているネットワークに適用
  • Private(プライベート):家庭や信頼できるネットワーク向け
  • Public(パブリック):公共のWi-Fiなど安全ではないネットワーク向け

「Set-NetFirewallProfile」では、これらのプロファイルごとに設定を変更できます。


基本的な使い方

「Set-NetFirewallProfile」の基本構文は次のとおりです。

Set-NetFirewallProfile -Profile <プロファイル名> -Enabled <有効/無効>

ファイアウォールを有効/無効にする

ファイアウォールを有効(オン)にする場合:

Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True

ファイアウォールを無効(オフ)にする場合:

Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled False

詳細設定の変更

ログの有効化と設定

ファイアウォールのログを有効にし、ログサイズを10MBに変更する:

Set-NetFirewallProfile -Profile Public -LogAllowed True -LogBlocked True -LogFileSize 10MB

通知の有効/無効

アプリケーションがブロックされた際に通知を表示する設定:

Set-NetFirewallProfile -Profile Private -NotifyOnListen True

通知を無効にする場合:

Set-NetFirewallProfile -Profile Private -NotifyOnListen False

応用例:セキュリティを強化する設定

すべてのネットワークプロファイルで厳格なセキュリティポリシーを適用

Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True -DefaultInboundAction Block -DefaultOutboundAction Allow
  • Inbound(受信)トラフィックをすべてブロック
  • Outbound(送信)トラフィックは許可

特定のネットワークだけでファイアウォールを有効にする

プライベートネットワークでのみファイアウォールを有効化:

Set-NetFirewallProfile -Profile Private -Enabled True
Set-NetFirewallProfile -Profile Public,Domain -Enabled False

ファイアウォールの設定をスクリプト化

複数の設定を一括で適用するPowerShellスクリプトを作成すると、管理が簡単になります。

$profiles = @("Domain", "Private", "Public")

foreach ($profile in $profiles) {
Set-NetFirewallProfile -Profile $profile -Enabled True -DefaultInboundAction Block -DefaultOutboundAction Allow
Write-Host "ファイアウォール設定を $profile に適用しました。"
}

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

変更後の設定を確認するには、「Get-NetFirewallProfile」コマンドを使用します。

Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction -AutoSize

結果例:

Name      Enabled DefaultInboundAction DefaultOutboundAction
---- ------- ------------------- -------------------
Domain True Block Allow
Private True Block Allow
Public True Block Allow

まとめ

PowerShellの「Set-NetFirewallProfile」を使えば、Windowsのファイアウォール設定を簡単に変更できます。特に、企業環境やIT管理者にとっては、スクリプトを活用することで効率的にポリシーを適用できる点が魅力です。

今回紹介した基本コマンドや応用例を活用し、より安全なネットワーク環境を構築してみてください。

タイトルとURLをコピーしました