1

Windows 7 ボックスでファイアウォールを使用しています。既存のルールを無効にするのではなく、削除したいのですが、どうすればよいか悩んでいます。無効にするために、私はやっています:

function Disable-IncomingFirewallRule($ruleName)
{
    $firewall = New-Object -ComObject hnetcfg.fwpolicy2

    try
    {
        $rule = $firewall.Rules.Item($ruleName)
        $rule.Enabled = $false
        Write-Host "Firewal rule disabled"
    }
    catch
    {
       Write-Host -ForegroundColor Red "Rule does not exist"

    }

しかし、この後もルールはまだ存在し、これを数回実行すると、無効になったルールがいくつかあるため、それらを削除する必要があります。

残念ながらNetSecurity、これらは Window 8 でのみ機能するため、モジュールの使用はオプションではありません。

これを行う方法を教えてくれるものを高低で検索しましたが、不足しています。どんな助けでも大歓迎です。

4

2 に答える 2

1

申し訳ありませんが、現時点では最後の回答にコメントを追加できません。

あなたの問題は解決しましたが、他の条件を持つ人がいるかもしれません:

完全な advfirewall コマンドは、NT6.0 以降 (Vista 以降) でのみ使用できることに注意してください。古いクライアントの場合、構文は次のとおりです。

netsh firewall delete allowedprogram "program name"

(これはプログラムのルールを削除するためのもので、他の方法で使用したことはありません)

于 2013-08-01T17:47:44.470 に答える