Windows ファイアウォールでルールが重複しても、通常は問題が発生しません。
- Windows ファイアウォールから複数のルールをアプリケーションから直接手動で削除できます。
- より上級のユーザーは、PowerShell スクリプトを使用してプロセスを自動化できます。
Windows ファイアウォール ルールが重複すると、特にファイアウォールを手動で構成している場合に混乱が生じる可能性があり、場合によっては、特定のアプリケーションやサービスが動作しなくなる可能性があります。
この問題を解決することは可能です。このガイドでは、使用できるいくつかの方法を紹介しますので、早速始めてみましょう。
Windows Defender ファイアウォール ルールはどこに保存されますか?
どのようにテスト、レビュー、評価するのでしょうか?
私たちは過去 6 か月間、コンテンツの制作方法に関する新しいレビュー システムの構築に取り組んできました。 その後、これを使用して、作成したガイドに関する実際の実践的な専門知識を提供するために、ほとんどの記事を書き直しました。
詳細については、こちらをご覧ください WindowsReport でのテスト、レビュー、評価の方法.
ファイアウォール ルールは、次のパスにあるレジストリの次のキーに保存されています。 Software\Policies\Microsoft\WindowsFirewall\FirewallRules
Windows ファイアウォールで重複したルールを削除するにはどうすればよいですか?
1. ファイアウォール設定からルールを手動で削除する
特定のルールを削除するとネットワークの問題が発生する可能性があるため、自己責任で削除してください。
- を押します。 ウィンドウズ キー + S そして入力してください ディフェンダー. 選択する 高度なセキュリティを備えた Windows Defender ファイアウォール.
- 左側のペインから、 アウトバウンドルール または インバウンドルール.
- を使用して複数のルールを選択します シフト または Ctrl そしてマウスの左ボタン。
- 重複するファイアウォール ルールを選択したら、それらを右クリックして選択します 消去.
- 確認を求められたら、 をクリックします はい.
- 削除するすべてのルールに対してこれらの手順を繰り返します。
ルールを削除する代わりに、ルールを無効にする方が良いオプションである可能性があります。 そうすることで、何か問題が発生した場合に、これらのルールを再度有効にすることができます。
2. スクリプトを使用して Windows ファイアウォール ルールを削除します
- 開ける メモ帳.
- 次のコードを貼り付けます。
# Here we use `netsh advfirewall firewall show` to get all firewall rules, since it's way faster than Get-NetFirewallRule!!! $output = (netsh advfirewall firewall show rule name=all verbose | Out-String).Trim() -split '\r?\n\s*\r?\n' $propertyNames = [System.Collections.Generic.List[string]]::new() $objects = @( $(foreach($section in $output ) { $obj = @{} foreach( $line in ($section -split '\r?\n') ) { if( $line -match '^\-+$' ) { continue } $name, $value = $line -split ':\s*', 2 $name = $name -replace " ", "" $obj.$name = $value if($propertyNames -notcontains $name) { $propertyNames.Add( $name ) } } $obj }) | % { foreach( $prop in $propertyNames ) { if( $_.Keys -notcontains $prop ) { $_.$prop = $null } } [PSCustomObject]$_ }) $r = $objects | Group-Object -Property RuleName, Program, Action, Profiles, RemoteIP, RemotePort, LocalIP, LocalPort, Enabled, Protocol, Direction # If you want to take a look # $r | ?{$_.Count -gt 1} | Select-Object -ExpandProperty group | Out-GridView $r | ?{$_.Count -gt 1} | %{ $name = $_ | Select-Object -ExpandProperty group | Select-Object -ExpandProperty RuleName -First 1 # Here we have to use this cmdlet, since `netsh advfirewall firewall delete` can't differentiate rules with the same names and will delte them all! Get-NetFirewallRule -DisplayName $name | Select-Object -Skip 1 | Remove-NetFirewallRule }
- クリック ファイル そして選択してください 名前を付けて保存.
- セット ファイルの種類として保存 に すべてのファイル ファイル名を次のように設定します ファイアウォール.ps1. 最後にクリックします 保存.
- プレス ウィンドウズ キー + S そして入力してください パワーシェル. 選択する 管理者として実行.
- 次のように cd コマンドを使用して、ps1 ファイルが保存されているディレクトリに切り替えます。
cd C:\Users\WindowsReport\Documents
- 次に、次のように入力します ファイアウォール.ps1、 スクリプトが開始され、重複したエントリが削除されるはずです。
これは高度なソリューションであるため、PowerShell コマンドの基本的な知識があり、スクリプトの動作を理解している場合にのみ使用する必要があることに注意してください。
Windows ファイアウォール ルールをクリーニングするためのヒント
- ルールを削除する前にルールを確認してください。 多くのルールは重複しておらず、異なるプロトコルまたはポートで動作するように構成されています。
- 削除するのではなく、ルールを無効にし、その後問題が発生するかどうかを確認することをお勧めします。
- 冗長なルールまたは未使用のルールのみを削除します。
- ルールに適切にラベルを付けて整理します。 ルールを優先順位または機能別に整理します。
Windows ファイアウォール ルールが重複していても、特に手動で作成していない場合は心配する必要はありません。 見た目はほぼ同じですが、ルールは重複していない可能性が高いため、100% 確信があり、問題のルールが何を行っているかがわかっている場合を除き、ルールを削除しないでください。
- PC で Xbox Game Pass サブスクリプションをキャンセルする方法
- 修正: Windows 11 で「ネットワークに接続しましょう」でスタックする
- Windows 11 サンドボックスで Windows Defender を有効にする方法
- Windows 11 でストレージ センサーを有効または無効にする方法
- Windows 11 用 DYMO ドライバー: ダウンロードとインストール方法
Windows ファイアウォールについてさらに詳しく知りたい場合は、これを使用して次のことができます。 ファイアウォールがポートまたはプログラムをブロックしていないか確認します またはできます IP 範囲を許可するように Windows ファイアウォールを構成する あなたのPC上で。
そういえば、こんなこともできます Windows ライセンス認証用のファイアウォール ルールを構成する プロセス中に問題が発生しないようにするためです。
PC 上で Windows ファイアウォール ルールが重複していることに遭遇したことがありますか? どのように対処しましたか? コメントセクションで発見したことを私たちと共有してください。