Я заканчиваю тестирование приложения, и мне нужно иметь возможность закрыть, а затем открыть порт в брандмауэре Windows с помощью команд PowerShell. Я нашел скрипт, который добавляет правило брандмауэра для открытия порта, но мне также нужно иметь возможность закрыть порт.

Скрипт для открытия - http://social.technet.microsoft.com/Forums/scriptcenter/en-US/1173b550-9f19-495f-bf70-ea12e3a73866/using-powershell-to-open-ports-on-on-a- окна-2008-сервер? форум = ITCG

Можно ли закрыть порт аналогичным образом? Мне нужно сначала закрыть его, выполнить операцию, а затем снова открыть и выполнить другую операцию. Надеемся, что команды будут работать в Windows 7 (для локального тестирования), а также в Server 2008 и выше.

1 ответ1

0

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

Ссылка выше содержит решения по Disabling или Deleting правил брандмауэра, например:

Используйте 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"

    }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .