![Feu :fire: 🔥](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f525.png)
Les règles doublons du Pare-feu Windows peuvent créer de la confusion, surtout si vous configurez votre pare-feu manuellement, et dans certains cas, cela peut empêcher certaines applications ou services de fonctionner.
Il est possible de résoudre ce problème, et dans ce guide, nous allons vous montrer quelques méthodes que vous pouvez utiliser. Commençons.
![Presse-papiers :clipboard: đź“‹](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f4cb.png)
• Avoir accès au Pare-feu Windows Defender avec des privilèges administrateurs.
• Avoir des connaissances de base des commandes PowerShell si vous optez pour la solution avancée.
![Marteau :hammer: 🔨](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f528.png)
![Marteau et clé :tools: 🛠️](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f6e0.png)
• Appuyez sur la touche Windows + S et entrez defender. Sélectionnez Pare-feu Windows Defender avec sécurité avancée.
• Dans le volet gauche, sélectionnez Règles entrantes ou Règles sortantes.
• Sélectionnez plusieurs règles en utilisant Shift ou Ctrl et le bouton gauche de la souris.
• Une fois que vous avez sélectionné les règles doublons du pare-feu, faites un clic droit sur elles et choisissez Supprimer.
• Lorsqu'on vous demande de confirmer, cliquez sur Oui.
![Ampoule :bulb: đź’ˇ](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f4a1.png)
![Marteau et clé :tools: 🛠️](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f6e0.png)
• Ouvrez le Bloc-notes.
• Collez le code suivant :
# 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 }
• Cliquez sur Fichier et choisissez Enregistrer sous.
• Définissez Enregistrer en tant que type sur Tous les fichiers et nommez le fichier firewall.ps1. Enfin, cliquez sur Enregistrer.
![Ampoule :bulb: đź’ˇ](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f4a1.png)
![Presse-papiers :clipboard: đź“‹](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f4cb.png)
Les règles doublons du Pare-feu Windows ne devraient pas vous préoccuper, surtout si vous ne les avez pas créées manuellement. Malgré des apparences presque identiques, il est probable que les règles ne soient pas des doublons, donc ne les supprimez pas à moins d'être sûr à 100% et de savoir ce que font les règles en question.