J'essaie d'identifier toutes les règles du pare-feu qui s'adressent à un port particulier. Voici comment je peux le faire manuellement :
Get-NetFirewallPortFilter | Where { $_.LocalPort -Eq "RPC" } `
| Format-Table -Property InstanceID
Maintenant, j'ai besoin de connaître le nom d'une règle :
Show-NetFirewallRule | Where { $_.InstanceID –Eq “Netlogon-TCP-RPC-In”} `
| Format-Table -Property DisplayName
Ensuite, j'obtiens :
DisplayName
-----------
Netlogon Service Authz (RPC)
Je ne veux pas le faire manuellement
J'ai essayé de suivre script pour obtenir la liste des noms :
$InstanceIDs = Get-NetFirewallPortFilter | Where { $_.LocalPort -Eq "RPC" } `
| Format-Table -Property InstanceID
foreach ($InstanceID in $InstanceIDs)
{
Show-NetFirewallRule | Where { $_.InstanceID –Eq $InstanceID} `
| Format-Table -Property DisplayName
}
Je n'ai rien pour le moment.
J'ai découvert que InstanceID
sur $InstanceIDs
n'est pas une chaîne, mais n'a pas réussi à la convertir.
Une idée sur la façon de le faire fonctionner ?
Merci.