创建和切换 Windows 防火墙规则

创建和切换 Windows 防火墙规则

使用单个批处理、PowerShell 或 AHK 脚本,我该如何:

  1. (如果不存在)创建一个阻止程序的 Windows 防火墙规则;并且
  2. 根据规则的当前状态禁用或启用该规则?

答案1

使用 PowerShellUsing PowerShell(>=版本 4.0)

欲了解更多详细信息,请阅读以下链接:
新 NetFirewallRule
使用 Powershell 管理 Windows 防火墙

生成您自己的新规则的模板(调整您的参数):

#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
}

相关内容