获取特定的防火墙规则选项
本文关键字:规则 选项 防火墙 获取 | 更新日期: 2023-09-27 18:17:20
我想按名称获得一个特定的防火墙规则,并查看它使用的选项(特别是IP范围),并将其与其他内容进行比较。这是可能的吗?我在网上搜索了,但是什么也没找到。
我是这样添加规则的:
INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
INetFwRule firewallRule = firewallPolicy.Rules.OfType<INetFwRule>().Where(x => x.Name == RULE_NAME).FirstOrDefault();
if (firewallRule == null)
{
firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
firewallRule.Name = RULE_NAME;
/* More stuff */
firewallPolicy.Rules.Add(firewallRule);
}
在对象firewallPolicy中。规则中,您可以访问并使用foreach循环去执行防火墙内的每条规则。如果你需要特定的规则,使用linq在集合中搜索:像这样:
var rule = firewallPolicy.Rules。Where(n=> n. name == "your name");