Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

PowerShell : gérer le pare-feu Windows Defender

PowerShell permet d’administrer entièrement le pare-feu Windows Defender sans utiliser l’interface graphique de Windows. Grâce aux commandes intégrées, il est possible d’afficher l’état du pare-feu, gérer les profils réseau, créer des règles, ouvrir des ports, bloquer des applications ou encore automatiser la configuration de plusieurs ordinateurs.

Cette approche est particulièrement intéressante pour les administrateurs système, les utilisateurs avancés ou toute personne souhaitant gagner du temps grâce à des scripts d’automatisation. Elle permet également d’accéder à certaines fonctionnalités avancées plus rapidement que via la console graphique du pare-feu.

PowerShell s’appuie sur les cmdlets de la famille NetSecurity, qui offrent un contrôle précis sur les règles, les profils et les paramètres de sécurité réseau de Windows. Ces commandes remplacent progressivement les anciennes méthodes d’administration basées sur netsh advfirewall.

Dans ce guide, nous allons voir comment gérer le pare-feu Windows Defender avec PowerShell, afficher et modifier les règles, administrer les profils réseau, ouvrir des ports, bloquer des applications et automatiser la configuration du pare-feu sous Windows 11/10.

✋
Il existe aussi la commande CMD netsh advfirewall. Plus de détails dans son utilisation, dans ce guide complet : Configurer le pare-feu Windows Defender avec netsh advfirewall

Vérifier l’état du pare-feu Windows Defender

Avant de modifier ou de créer des règles de pare-feu, il est recommandé de vérifier que le pare-feu Windows Defender est correctement activé et que les différents profils réseau fonctionnent normalement.

PowerShell permet d’obtenir rapidement ces informations sans passer par l’interface graphique de Windows.

Afficher l’état des profils du pare-feu

La commande suivante affiche les profils Domaine, Privé et Public ainsi que leur état :

Get-NetFirewallProfile

Parmi les informations affichées, la colonne Enabled indique si le pare-feu est activé ou non pour chaque profil.

Afficher l'état des profils du pare-feu Windows Defender en PowerShell

Le pare-feu Windows Defender ne possède pas un état global unique.

Il possède trois profils indépendants :

  • Domain (Domaine)
  • Private (Privé)
  • Public

👉Pour compléter, consultez :

Afficher uniquement les profils activés

Pour afficher uniquement les profils actifs :

Get-NetFirewallProfile | Select-Object Name, Enabled

Exemple de résultat :

Name      Enabled
----      -------
Domain    True
Private   True
Public    True

Si la valeur est True, le pare-feu est activé pour le profil concerné.

Vérifier un profil spécifique

Vous pouvez également contrôler un profil particulier :

Get-NetFirewallProfile -Name Public

ou :

Get-NetFirewallProfile -Name Private

Cette méthode est utile lorsque vous souhaitez vérifier uniquement un profil réseau précis.

Vérifier le service du pare-feu

Le pare-feu Windows Defender repose sur le service MpsSvc.

Pour vérifier son état :

Get-Service MpsSvc

Le service doit normalement apparaître avec l’état :

Status   Name     DisplayName
------   ----     -----------
Running  MpsSvc   Pare-feu Windows Defender

Si le service est arrêté ou désactivé, le pare-feu ne pourra pas fonctionner correctement.

Ces vérifications constituent généralement la première étape avant d’activer, désactiver ou modifier la configuration du pare-feu Windows Defender à l’aide de PowerShell.

Activer ou désactiver le pare-feu Windows Defender

PowerShell permet d’activer ou de désactiver rapidement le pare-feu Windows Defender sans passer par l’interface graphique de Windows. Cette méthode est particulièrement utile pour les administrateurs système, les scripts d’automatisation ou les opérations de dépannage.

Il est fortement recommandé de laisser le pare-feu activé. La désactivation doit rester temporaire et uniquement à des fins de diagnostic ou de test.

Activer le pare-feu sur tous les profils

Pour activer le pare-feu sur les profils Domaine, Privé et Public :

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

Désactiver le pare-feu sur tous les profils

Pour désactiver le pare-feu sur tous les profils :

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

Cette commande désactive complètement la protection réseau assurée par le pare-feu Windows Defender.

Activer ou désactiver un profil spécifique

Vous pouvez également cibler un seul profil réseau.

Par exemple, pour désactiver uniquement le profil Public :

Set-NetFirewallProfile -Name Public -Enabled False

Pour le réactiver :

Set-NetFirewallProfile -Name Public -Enabled True

Les mêmes commandes peuvent être utilisées avec les profils :

  • Domain
  • Private
  • Public

Vérifier la modification

Après avoir appliqué une modification, vous pouvez vérifier l’état des profils :

Get-NetFirewallProfile | Select-Object Name, Enabled

Cette commande affiche rapidement les profils actifs et ceux qui sont désactivés.

Désactiver pare-feu Windows Defender en PowerShell

Désactiver complètement le pare-feu Windows Defender

Le pare-feu Windows Defender utilise trois profils indépendants (Domaine, Privé et Public). Pour désactiver complètement le pare-feu, il faut désactiver les trois profils.
En effet, désactiver un seul profil ne désactive pas entièrement la protection réseau de Windows.

Pour désactiver complètement le pare-feu :

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

Et pour le réactiver :

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

Vous pouvez d’ailleurs vérifier l’état des trois profils avec :

Get-NetFirewallProfile | Select-Object Name, Enabled

Exemple :

Name      Enabled
---- -------
Domain True
Private True
Public False

Dans cet exemple :

  • le pare-feu est actif sur le domaine ;
  • actif sur le réseau privé ;
  • désactivé sur le réseau public.

Quand désactiver temporairement le pare-feu ?

La désactivation temporaire peut être utile pour :

  • Diagnostiquer un problème réseau
  • Vérifier si une application est bloquée
  • Tester une configuration de pare-feu
  • Valider une règle réseau

Dans tous les cas, il est recommandé de réactiver le pare-feu dès que les tests sont terminés afin de conserver un niveau de protection optimal.

Créer une règle de pare-feu

Les règles du pare-feu Windows Defender permettent de contrôler précisément les connexions réseau autorisées ou bloquées. Avec PowerShell, il est possible de créer rapidement des règles pour une application, un port ou une adresse IP.

La création de règles est particulièrement utile pour :

  • Autoriser une application
  • Bloquer un programme
  • Ouvrir un port TCP ou UDP
  • Autoriser ou bloquer une adresse IP
  • Automatiser la configuration du pare-feu

Autoriser une application

Pour autoriser une application à recevoir des connexions réseau :

New-NetFirewallRule `
-DisplayName "Autoriser Firefox" `
-Direction Inbound `
-Program "C:\Program Files\Mozilla Firefox\firefox.exe" `
-Action Allow

Bloquer une application

Pour empêcher une application d’accéder au réseau :

New-NetFirewallRule `
-DisplayName "Bloquer Firefox" `
-Direction Outbound `
-Program "C:\Program Files\Mozilla Firefox\firefox.exe" `
-Action Block
Ajouter règle pare-feu Windows Defender en PowerShell

Ouvrir un port TCP

Pour autoriser les connexions sur le port TCP 80 :

New-NetFirewallRule `
-DisplayName "HTTP TCP 80" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 80 `
-Action Allow

Ouvrir un port UDP

Pour autoriser les connexions sur le port UDP 53 :

New-NetFirewallRule `
-DisplayName "DNS UDP 53" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 53 `
-Action Allow

Autoriser une adresse IP

Pour autoriser uniquement une adresse IP spécifique :

New-NetFirewallRule `
-DisplayName "Autoriser IP" `
-Direction Inbound `
-RemoteAddress 192.168.1.100 `
-Action Allow

Bloquer une adresse IP

Pour bloquer une adresse IP :

New-NetFirewallRule `
-DisplayName "Bloquer IP" `
-Direction Inbound `
-RemoteAddress 192.168.1.100 `
-Action Block

Vérifier la règle créée

Après la création d’une règle, vous pouvez vérifier sa présence avec :

Get-NetFirewallRule -DisplayName "*Firefox*"

PowerShell permet ainsi de créer rapidement des règles complexes sans avoir à utiliser la console graphique du pare-feu Windows Defender.

Ajouter une règle dans le pare-feu Windows Defender de PowerShell

Modifier une règle existante

Une fois une règle créée, PowerShell permet de la modifier sans avoir à la supprimer puis la recréer. Cette fonctionnalité est utile pour ajuster rapidement les paramètres d’une règle existante ou activer temporairement certaines restrictions réseau.

Rechercher la règle à modifier

Avant toute modification, il est recommandé de vérifier le nom exact de la règle :

Get-NetFirewallRule -DisplayName "*Firefox*"

Désactiver une règle

Pour désactiver temporairement une règle :

Disable-NetFirewallRule -DisplayName "Bloquer Firefox"

La règle reste présente dans le pare-feu mais n’est plus appliquée.

Désactiver une règle du pare-feu Windows Defender en PowerShell

Réactiver une règle

Pour réactiver une règle précédemment désactivée :

Enable-NetFirewallRule -DisplayName "Bloquer Firefox"

Modifier l’action d’une règle

Il est possible de changer une règle d’autorisation en règle de blocage (ou inversement) :

Set-NetFirewallRule `
-DisplayName "Firefox" `
-Action Block

ou :

Set-NetFirewallRule `
-DisplayName "Firefox" `
-Action Allow

Modifier les profils réseau

Pour limiter une règle au profil Privé :

Set-NetFirewallRule `
-DisplayName "Firefox" `
-Profile Private

Les profils disponibles sont :

  • Domain
  • Private
  • Public

Vérifier les modifications

Après toute modification, il est recommandé de vérifier les paramètres appliqués :

Get-NetFirewallRule -DisplayName "Firefox" | Format-List *

Cette commande affiche les principaux paramètres de la règle et permet de confirmer que les changements ont bien été pris en compte.

Supprimer une règle du pare-feu

Lorsqu’une règle n’est plus nécessaire ou qu’elle provoque des problèmes de connexion, il est possible de la supprimer directement depuis PowerShell.

Avant de supprimer une règle, il est recommandé de vérifier son nom exact afin d’éviter de supprimer une règle importante du pare-feu.

Rechercher la règle à supprimer

Pour afficher une règle spécifique :

Get-NetFirewallRule -DisplayName "*Firefox*"

Cette commande permet de confirmer le nom de la règle avant sa suppression.

Supprimer une règle

Pour supprimer une règle du pare-feu :

Remove-NetFirewallRule -DisplayName "Bloquer Firefox"

La règle est immédiatement supprimée de la configuration du pare-feu Windows Defender.

Supprimer une règle du pare-feu Windows Defender en PowerShell

Supprimer plusieurs règles

Vous pouvez également supprimer plusieurs règles correspondant à un même filtre :

Get-NetFirewallRule -DisplayName "*Firefox*" | Remove-NetFirewallRule

Cette commande supprime toutes les règles contenant le mot Firefox dans leur nom.

Vérifier la suppression

Après la suppression, vous pouvez contrôler que la règle n’existe plus :

Get-NetFirewallRule -DisplayName "*Firefox*"

Si aucune règle n’est retournée, la suppression a été effectuée avec succès.

Quand supprimer une règle ?

La suppression d’une règle peut être utile lorsque :

  • Une règle n’est plus utilisée
  • Une application a été désinstallée
  • Une règle de blocage provoque des dysfonctionnements
  • Vous souhaitez repartir sur une configuration plus propre
  • Une règle a été créée par erreur

Si vous n’êtes pas certain de vouloir supprimer définitivement une règle, vous pouvez également simplement la désactiver avec Disable-NetFirewallRule afin de la réactiver ultérieurement si nécessaire.

Gérer les profils réseau

Le pare-feu Windows Defender applique des règles différentes selon le profil réseau utilisé par l’ordinateur. PowerShell permet d’afficher et de modifier rapidement les paramètres des profils Domaine, Privé et Public.

Cette fonctionnalité est particulièrement utile pour vérifier qu’une règle s’applique au bon type de réseau ou pour adapter le niveau de protection selon l’environnement utilisé.

Afficher les profils du pare-feu

Pour consulter la configuration des profils réseau :

Get-NetFirewallProfile

Cette commande affiche notamment :

  • Le nom du profil
  • L’état du pare-feu
  • Les paramètres de journalisation
  • Les actions par défaut pour les connexions entrantes et sortantes

Afficher un profil spécifique

Pour consulter uniquement le profil Public :

Get-NetFirewallProfile -Name Public

Vous pouvez remplacer Public par :

  • Domain
  • Private

Modifier les paramètres d’un profil

Par exemple, pour activer le pare-feu sur le profil Public :

Set-NetFirewallProfile -Name Public -Enabled True

Pour le désactiver :

Set-NetFirewallProfile -Name Public -Enabled False

Configurer la journalisation

PowerShell permet également d’activer la journalisation des connexions bloquées :

Set-NetFirewallProfile `
-Name Public `
-LogBlocked True

Cette fonctionnalité facilite le diagnostic des problèmes réseau et l’identification des connexions bloquées par le pare-feu.

Pourquoi gérer les profils réseau ?

L’administration des profils permet notamment de :

  • Adapter le niveau de sécurité selon le réseau utilisé
  • Différencier les réseaux privés et publics
  • Contrôler les règles appliquées à chaque profil
  • Activer la journalisation du pare-feu
  • Diagnostiquer des problèmes de connexion

Une bonne compréhension des profils Domaine, Privé et Public est essentielle pour administrer efficacement le pare-feu Windows Defender avec PowerShell.

Sauvegarder et restaurer la configuration du pare-feu

PowerShell permet d’afficher et d’exporter des informations sur les règles du pare-feu Windows Defender. En revanche, l’exportation et la restauration complètes d’une configuration de pare-feu reposent principalement sur la console Pare-feu Windows Defender avec fonctions avancées de sécurité ou sur les commandes netsh advfirewall.

👉 Le guide :

Dans ce guide dédié, vous trouverez les méthodes permettant d’exporter une configuration dans un fichier .wfw, de restaurer les règles du pare-feu et de vérifier que la configuration a bien été réimportée.

Réinitialiser le pare-feu Windows Defender

Lorsqu’un grand nombre de règles ont été créées, que la configuration est devenue difficile à gérer ou que le pare-feu présente des dysfonctionnements, il peut être plus simple de réinitialiser complètement sa configuration.

Cette opération restaure les paramètres par défaut du pare-feu Windows Defender et supprime les règles personnalisées ajoutées manuellement ou par certains logiciels.

Réinitialiser le pare-feu avec PowerShell

PowerShell permet de restaurer rapidement la configuration par défaut :

(New-Object -ComObject HNetCfg.FwPolicy2).RestoreLocalFirewallDefaults()

Cette commande supprime les règles personnalisées et rétablit les paramètres par défaut du pare-feu Windows Defender.

Réinitialiser le Firewall Windows avec PowerShell

Vérifier les profils après la réinitialisation

Une fois la réinitialisation effectuée, vous pouvez vérifier l’état des profils du pare-feu :

Get-NetFirewallProfile

Assurez-vous que les profils Domaine, Privé et Public sont correctement activés.

Quand réinitialiser le pare-feu ?

La réinitialisation peut être utile lorsque :

  • Les règles du pare-feu semblent corrompues
  • Certaines applications ne parviennent plus à communiquer sur le réseau
  • Le pare-feu a été modifié par un logiciel tiers
  • Vous souhaitez repartir d’une configuration propre
  • Les autres méthodes de dépannage ont échoué

Après la réinitialisation, les applications qui nécessitent des règles personnalisées devront parfois être autorisées à nouveau.

👉 Le guide complet :

Dans ce guide dédié, vous trouverez toutes les méthodes permettant de restaurer la configuration du pare-feu Windows Defender depuis Windows, PowerShell ou l’invite de commandes.

Les commandes PowerShell les plus utiles pour le pare-feu Windows Defender

Le tableau suivant regroupe les principales commandes PowerShell permettant de gérer le pare-feu Windows Defender. Il peut servir de mémo rapide pour afficher l’état du pare-feu, créer des règles, modifier la configuration ou réinitialiser les paramètres.

ActionCommande PowerShellUtilisation
Afficher l’état des profilsGet-NetFirewallProfileVérifier si le pare-feu est activé sur les profils Domaine, Privé et Public
Activer le pare-feuSet-NetFirewallProfile -Profile Domain,Private,Public -Enabled TrueRéactiver le pare-feu sur tous les profils
Désactiver le pare-feuSet-NetFirewallProfile -Profile Domain,Private,Public -Enabled FalseDésactiver temporairement le pare-feu pour un test
Lister les règlesGet-NetFirewallRuleAfficher toutes les règles du pare-feu
Rechercher une règleGet-NetFirewallRule -DisplayName "*nom*"Trouver une règle par son nom
Afficher les règles activesGet-NetFirewallRule | Where-Object Enabled -eq TrueLister uniquement les règles activées
Créer une règleNew-NetFirewallRuleAjouter une règle de pare-feu
Modifier une règleSet-NetFirewallRuleChanger l’action, le profil ou l’état d’une règle
Activer une règleEnable-NetFirewallRule -DisplayName "Nom"Réactiver une règle désactivée
Désactiver une règleDisable-NetFirewallRule -DisplayName "Nom"Désactiver une règle sans la supprimer
Supprimer une règleRemove-NetFirewallRule -DisplayName "Nom"Supprimer définitivement une règle
Bloquer une applicationNew-NetFirewallRule -DisplayName "Bloquer App" -Direction Outbound -Program "C:\chemin\app.exe" -Action BlockEmpêcher un programme d’accéder au réseau
Autoriser un port TCPNew-NetFirewallRule -DisplayName "Port TCP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action AllowOuvrir un port TCP
Bloquer une adresse IPNew-NetFirewallRule -DisplayName "Bloquer IP" -Direction Inbound -RemoteAddress 192.168.1.100 -Action BlockBloquer une adresse IP spécifique
Vérifier le service du pare-feuGet-Service MpsSvc,BFEContrôler les services nécessaires au pare-feu
Réinitialiser le pare-feu(New-Object -ComObject HNetCfg.FwPolicy2).RestoreLocalFirewallDefaults()Restaurer les paramètres par défaut

Ces commandes doivent généralement être exécutées depuis un Terminal Windows ou une console PowerShell ouverte en tant qu’administrateur.

L’article PowerShell : gérer le pare-feu Windows Defender est apparu en premier sur malekal.com.

Enregistrer un commentaire

0 Commentaires