我希望按名称获取特定的防火墙规则并查看它使用的选项(特别是IP Scope)并将其与某些内容进行比较。这是可能的,我在网上搜索但找不到任何东西。
这是我添加规则的方式:
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);
}
答案 0 :(得分:0)
在该对象firewallPolicy.Rules中,您可以访问并使用foreach循环 去你的防火墙内的每个规则。 如果您需要特定的规则,请使用linq在该集合中进行搜索: 像这样:
var rule = firewallPolicy.Rules.Where(n =&gt; n.Name ==&#34;您的姓名&#34;);