8

netsh advfirewall firewallでファイアウォール ルールを作成すると、そのルールを複数回実行して、同一のファイアウォール ルールを複数作成できることに気付きました。

新しいファイアウォール ルールを作成する前に、ファイアウォール ルールが存在するかどうかを確認する方法はありますか?

4

5 に答える 5

5

ルール「myrule」が存在しないかどうかを確認する

netsh advfirewall firewall show rule name="myrule" | findstr "no rules"
于 2016-07-11T13:03:46.133 に答える
5

PowerShell の Network Security Cmdlets を介してこれを実行することができました。次のコードは、指定されたローカル ポートと共に名前付きファイアウォール ルールをチェックします。エントリが見つかった場合、ルールは作成されません。エントリが見つからない場合は、ルールが作成されます

$firewallPort = ""
$firewallRuleName = ""

write-host "Checking for '$firewallRuleName' firewall rule on port '$firewallPort' now...."
if ($(Get-NetFirewallRule –DisplayName $firewallRuleName | Get-NetFirewallPortFilter | Where { $_.LocalPort -eq $firewallPort }))
{
    write-host "Firewall rule for '$firewallRuleName' on port '$firewallPort' already exists, not creating new rule"
}
else
{
    write-host "Firewall rule for '$firewallRuleName' on port '$firewallPort' does not already exist, creating new rule now..."
    New-NetFirewallRule -DisplayName $firewallRuleName -Direction Inbound -Profile Domain,Private,Public -Action Allow -Protocol TCP -LocalPort $firewallPort -RemoteAddress Any
    write-host "Firewall rule for '$firewallRuleName' on port '$firewallPort' created successfully"
}
于 2015-08-24T15:36:14.610 に答える