`
zu14
  • 浏览: 444922 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

C#(VB.NET)操作Windows自带的防火墙 之 添加/删除允许通过防火墙的例外程序

阅读更多

<noscript type="text/javascript"><!----></noscript> <noscript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></noscript>

前面几篇,说了对防火墙的部分操作,今天说 如何 添加删除 允许通过防火墙的程序进入例外列表

<noscript type="text/javascript"><!----></noscript> <noscript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></noscript>

本篇,我们用到了COM引用,因为不使用COM引用的话,操作太过繁琐了

一、 添加 COM 引用

在引用里,选择 COM 页, 找到 NetFwTypeLib , 确定即可

二、 引入命名空间

using NetFwTypeLib;

三、 添加允许通过防火墙的例外程序

//创建firewall管理类的实例
INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));

//创建一个认证程序类的实例
INetFwAuthorizedApplication app = (INetFwAuthorizedApplication)Activator.CreateInstance(
    Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication"));

//在例外列表里,程序显示的名称
app.Name = "自定义"; 

//程序的决定路径,这里使用程序本身
app.ProcessImageFileName = Application.ExecutablePath;

//是否启用该规则
app.Enabled = true;

//加入到防火墙的管理策略
netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(app);

 

四、删除一个例外 列表 里的程序

INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));
//参数为程序的绝对路径
netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Remove(Application.ExecutablePath);

<noscript type="text/javascript"><!----></noscript> <noscript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></noscript>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics