以下是返回防火墙规则的C#代码:
Type tNetFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(tNetFwPolicy2);
List<INetFwRule> RuleList = new List<INetFwRule>();
foreach (INetFwRule rule in fwPolicy2.Rules)
{
RuleList.Add(rule);
}
使用Powershell,它返回相同的内容:
Get-NetFirewallRule
然而,Powershell也有-PolicyStore参数。如果我们使用:
Get-NetFirewallRule -PolicyStore RSOP
或
Get-NetFirewallRule -PolicyStore ActiveStore
它将返回域组策略强制执行的所有规则。
C#可以做类似的事情吗?