2

我正在使用INetFwRule创建 Windows 防火墙规则。我希望这条规则适用于域和私人资料,但适用于公共资料。但Profiles属性不支持。

请帮忙。

4

1 回答 1

3

INetFwRule 期望多个配置文件一起进行 ORed。例如,要创建同时启用域和私有的 Windows 防火墙规则,您需要执行以下操作:

INetFwRule2 rule = (INetFwRule2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule")); rule.Profiles = (int)NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE | (int)NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_DOMAIN;

如果您想为所有配置文件启用它,则不需要将所有 3 个配置文件放在一起,因为有一个 ALL 标志:

INetFwRule2 rule = (INetFwRule2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule")); rule.Profiles = (int)NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_ALL;

于 2016-11-24T06:03:48.037 回答