Non classé Powershell

Powershell, comment autoriser une régle de parefeu

Click to rate this post!
[Total: 0 Average: 0]

Powershell, comment autoriser une régle de parefeu (firewall) pour le ping ?


Deux solutions s’offrent à nous. soit utiliser les commandes “netsh” soit utiliser NetFirewallRule de Powershell.

Tout d’abord : « netsh advfirewall »
Quelques recherches rapide mon donnée le protocole correspondant au « ping » il s’agit de icmpv4 code 8 soit autrement appelé « echo request »

netsh advfirewall firewall add rule name="ICMP Allow PING echo request" protocol="icmpv4:8,any" dir=in action=allow

ici, on définie de simple option
name : le nom de la règle
protocol:
dir : regle entrante ou sortante
action : autoriser ou interdire (allow ou block)
localport : (non utilisé ici, mais aurait pu indiquer le nom d’un port , comme 8080)
program : « c:\programfiles\messenger\msmsgs.exe »


Ensuite, une Cmdlet de Powershell pour le firewall NetFirewallRule.
Classiquement, soit Get, Add ou Set.
Dans mon exemple, il s’agit d’une regle par defaut sous windows 2012 et 2016.

#1, définie nos règles à activer

$liste_regle = “File and Printer Sharing (Echo Request – ICMPv4-In)”,”File and Printer Sharing (Echo Request – ICMPv4-Out)”


#2 : on crée une boucle pour chaque règles et on test si elle est activée.
 foreach($regle in $liste_regle)
 {
 $status= (Get-NetFirewallRule -DisplayName “$regle“).Enabled
 if ($status -eq “False”) {Set-NetFirewallRule -DisplayName “$regle” -Enabled True
   “$regle a été activée”}
   else {“$regle est activée”}
 }
 

Leave a Reply

Your email address will not be published. Required fields are marked *