使用单个批处理、PowerShell 或 AHK 脚本,我该如何:
- (如果不存在)创建一个阻止程序的 Windows 防火墙规则;并且
- 根据规则的当前状态禁用或启用该规则?
答案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
}