Создать и переключить правило брандмауэра Windows


1

Используя один пакет, скрипт PowerShell или AHK, как я могу:

  1. (если он не существует) создайте правило брандмауэра Windows, которое блокирует программу; а также
  2. отключает или включает правило в зависимости от его текущего состояния?

Ответы:


1

Использование PowerShell (& gt; = версия 4.0)

Для более подробной информации прочитайте эти ссылки:
New-NetFirewallRule
Управление брандмауэром Windows с помощью Powershell

Шаблон для создания вашего собственного нового правила (адаптируйте ваши параметры):

#Requires -Version 4.0
New-NetFirewallRule -DisplayName BlockYourProgram `
    -Program “C:\Path\To\YourProgram.exe” `
    -Action Block `
    -Profile Domain, Private `
    -Description “Demonstration” `
    -Protocol TCP `
    -Direction Outbound

Чтобы включить / отключить правило

Set-NetFirewallRule -DisplayName BlockYourProgram -Enabled True
Set-NetFirewallRule -DisplayName BlockYourProgram -Enabled False

переключить правило

if ((Get-NetFirewallRule -DisplayName BlockYourProgram).Enabled){
    Set-NetFirewallRule -DisplayName BlockYourProgram -Enabled False
} Else {
    Set-NetFirewallRule -DisplayName BlockYourProgram -Enabled True
}

Я получаю ошибку The term 'New-NetFirewallRule' is not recognized...
user2319146

Какую версию PowerShell вы используете?
LotPings

2.0 (Windows 7).
user2319146

Мне жаль New-NetFireWallRule был введен с Windows Server 2012 R2 and Windows 8.1 и требуют эти версии или новее. Я не знаю, достаточно ли обновить PowerShell.
LotPings
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.