使用 PowerShell 关闭防火墙端口

使用 PowerShell 关闭防火墙端口

我正在对某个应用程序进行端到端测试,我需要能够使用 PowerShell 命令关闭然后打开 Windows 防火墙中的端口。我找到了一个脚本,它可以添加防火墙规则来打开端口,但我还需要能够关闭该端口。

打开脚本 -http://social.technet.microsoft.com/Forums/scriptcenter/en-US/1173b550-9f19-495f-bf70-ea12e3a73866/using-powershell-to-open-ports-on-on-a-windows-2008-server?forum=ITCG

是否可以以类似的方式关闭端口?我需要先关闭它,执行一个操作,然后重新打开它并执行另一个操作。希望这些命令可以在 Windows 7(用于本地测试)和 Server 2008 及更高版本上运行。

答案1

https://stackoverflow.com/questions/17981391/delete-firewall-rule-using-powershell-on-windows-7

上面的链接包含防火墙规则的解决方案DisablingDeleting例如:

用于netsh删除防火墙规则:

netsh advfirewall firewall delete rule name="$ruleName"

要禁用防火墙规则:

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"

    }

相关内容