Yua*_*uan 6 c# windows firewall
我已经搜索过,并且在SO上有类似的问题,但是,没有人谈论如何在"All Profile"(Windows 7,AKA"任何配置文件"在Vista/Windows Server 2008上)添加例外.互联网上的示例仅涉及添加到当前配置文件.
原因是我的虚拟机有一个问题:windows 2008 x86,当前的防火墙配置文件是Domain,我的应用程序被添加到Domain的Exception列表中.(防火墙设置为默认设置:阻止任何不在例外列表中的入站呼叫.)但是,入站呼叫仍会被阻止,除非:1.关闭此虚拟机上的防火墙.2.手动将我的应用程序的规则配置文件更改为"任何"
这是非常令人困惑,因为我以为只有活动的配置文件应该是"积极的",应该是功能性的,不管其他配置文件挡住了我的申请呼入电话.
我正在使用XPSP2 INetFwMgr接口来添加缺少"任何"配置文件支持的异常.
我正在使用c#,但任何语言都会受到赞赏.
你可以尝试这样的事情:
using System;
using NetFwTypeLib;
namespace FirewallManager
{
class Program
{
static void Main(string[] args)
{
INetFwRule firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
firewallRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
firewallRule.Description = "Allow notepad";
firewallRule.ApplicationName = @"C:\Windows\notepad.exe";
firewallRule.Enabled = true;
firewallRule.InterfaceTypes = "All";
firewallRule.Name = "Notepad";
INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(
Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
firewallPolicy.Rules.Add(firewallRule);
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了完整起见,请添加对c:\ Windows\System32\FirewallAPI.dll的引用
| 归档时间: |
|
| 查看次数: |
7723 次 |
| 最近记录: |