这是返回防火墙规则的 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# 来完成?