You need to enable JavaScript to run this app. 如何通过C#的WindowsFirewallHelper库启用或禁用已创建的防火墙规则
优惠活动
大模型
产品
解决方案
定价
更多

如何通过C#的WindowsFirewallHelper库启用或禁用已创建的防火墙规则

WindowsFirewallHelper 规则启用/禁用实现方法

核心操作逻辑

你之前观察到的rule.IsEnabled读取返回值,只是该属性get访问器的作用——这个成员是可直接读写的公开属性,并非仅能返回状态的只读字段,类库本身也不需要单独提供启用/禁用的方法,直接对属性赋值即可完成规则的状态切换,且修改会自动同步持久化到系统防火墙配置中,无需额外调用保存类接口。

具体实现方式

  • 「断开(禁用防火墙规则)」:将目标规则的IsEnabled属性赋值为false
  • 「连接(启用防火墙规则)」:将目标规则的IsEnabled属性赋值为true

参考实现代码

// 根据规则名称匹配找到目标已创建的规则
var targetRule = FirewallManager.Instance.Rules.FirstOrDefault(rule => rule.Name == ruleName);
if (targetRule == null)
{
    // 规则不存在的异常处理逻辑
    return;
}

// 执行「断开」操作:禁用规则
targetRule.IsEnabled = false;

// 执行「连接」操作:启用规则
// targetRule.IsEnabled = true;

注意事项

规则属性的修改属于系统级配置写入操作,需要当前运行的进程具备本地管理员权限,否则操作会被系统安全策略拦截,抛出权限不足的运行时异常。


内容的提问来源于stack exchange,提问作者boonwin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.07 09:36:09