【发布时间】:2019-03-24 23:55:59
【问题描述】:
如何在 c# 中为所有人设置防火墙规则? 我尝试仅设置域或私有,并且效果很好。但是对于所有代码,它都不起作用。 我使用来自 GitHub 的代码,这个解决方案 https://github.com/falahati/WindowsFirewallHelper
部分代码:
var rule = FirewallManager.Instance.CreateApplicationRule(FirewallManager.Instance.GetProfile(FirewallProfiles.All).Type, @"MyApp Rule", FirewallAction.Allow, @"C:\MyApp.exe");
rule.Direction = FirewallDirection.Inbound;
FirewallManager.Instance.Rules.Add(rule);
[Flags]
public enum FirewallProfiles
{
Domain = NET_FW_PROFILE_TYPE2.NET_FW_PROFILE2_DOMAIN,
Private = NET_FW_PROFILE_TYPE2.NET_FW_PROFILE2_PRIVATE,
Public = NET_FW_PROFILE_TYPE2.NET_FW_PROFILE2_PUBLIC,
All=NET_FW_PROFILE_TYPE2.NET_FW_PROFILE2_ALL
}
我抓住了exception =FirewallLegacyNotSupportedException
【问题讨论】:
标签: c#