百度空间 | 百度首页 
 
查看文章
 
[UMU WSH 教程](35) 管理 Windows 内置防火墙
2009年03月23日 星期一 16:26

[UMU WSH 教程](32) 访问剪贴板(2)

[UMU WSH 教程](33) 正则表达式

[UMU WSH 教程](34) ScriptingUtils.DateTimeObject 对象

  本文适用于 XP 后系统(包括 XP)。hnetcfg.dll 提供了管理 Windows 内置防火墙的对象:HNetCfg.HNetShare、HNetCfg.NATUPnP、HNetCfg.FwMgr、HNetCfg.FwOpenPort、HNetCfg.FwAuthorizedApplication。

  参考 URL:

http://msdn.microsoft.com/en-us/library/bb736292(VS.85).aspx
http://www.activexperts.com/activmonitor/windowsmanagement/scripts/networking/windowsfirewall/

  下面举几个例子:

// UMU @ 2009-3-20 09:17
// AddAllowedPort.js
// 防火墙 - 例外 - 添加例外端口

var NET_FW_IP_PROTOCOL_TCP = 6;
var NET_FW_IP_PROTOCOL_UDP = 17;

function WFW_AddAllowedPort(name, protocol, port, state)
{
        var objFirewall = new ActiveXObject("HNetCfg.FwMgr");
        var objProfile = objFirewall.LocalPolicy.CurrentProfile;
        var objPort = new ActiveXObject("HNetCfg.FwOpenPort");

        objPort.Name = name;
        objPort.Port = port;
        objPort.Protocol = protocol;
        objPort.Enabled = state;

        var colPorts = objProfile.GloballyOpenPorts;
        colPorts.Add(objPort);

        delete colPorts;
        delete objPort;
        delete objProfile;
        delete objFirewall;
}

WFW_AddAllowedPort("UMU", NET_FW_IP_PROTOCOL_UDP, 618, true);

// UMU @ 2009-3-23 15:51
// AddAuthorizedApplication.js
// 防火墙 - 例外 - 添加例外程序

var objFirewall = new ActiveXObject("HNetCfg.FwMgr");
var oProfile = objFirewall.LocalPolicy.CurrentProfile;
var objAuthApp = new ActiveXObject("HNetCfg.FwAuthorizedApplication");
objAuthApp.Name = "notepad.exe";
objAuthApp.IPVersion = 2;
objAuthApp.ProcessImageFileName = "C:\\Windows\\system32\\notepad.exe";
objAuthApp.RemoteAddresses = "*";
objAuthApp.Scope = 0;
objAuthApp.Enabled = true;

var colApplications = oProfile.AuthorizedApplications;
colApplications.Add(objAuthApp);

delete objAuthApp;
delete objFirewall;

// UMU @ 2009-3-23 15:51
// AllowInboundEchoRequest.js
// 防火墙 - ICMP 设置 - 允许传入回显请求

var objFirewall = new ActiveXObject("HNetCfg.FwMgr");
var objProfile = objFirewall.LocalPolicy.CurrentProfile;
objProfile.IcmpSettings.AllowInboundEchoRequest = true;
delete objProfile;
delete objFirewall;

// UMU @ 2009-3-23 15:58
// DisableFirewall.js
// 防火墙 - 禁用防火墙

var objFirewall = new ActiveXObject("HNetCfg.FwMgr");
var objProfile = objFirewall.LocalPolicy.CurrentProfile;
//objProfile.FirewallEnabled = true;
objProfile.FirewallEnabled = false;
delete objProfile;
delete objFirewall;

// UMU @ 2009-3-23 16:05
// EnableRemoteDesktop.js
// 防火墙 - 例外 - 启用远程桌面

var NET_FW_SERVICE_FILE_AND_PRINT = 0;
var NET_FW_SERVICE_UPNP = 1;
var NET_FW_SERVICE_REMOTE_DESKTOP = 2;

var NET_FW_SCOPE_ALL = 0;
var NET_FW_SCOPE_LOCAL_SUBNET = 1;

var objFwMgr = new ActiveXObject("HNetCfg.FwMgr");
var objProfile = objFwMgr.LocalPolicy.CurrentProfile;
var objService = objProfile.Services.Item(NET_FW_SERVICE_REMOTE_DESKTOP);
objService.Enabled = true
objService.RemoteAddresses = "*"
//objService.Scope = NET_FW_SCOPE_ALL
delete objService;
delete objProfile;
delete objFwMgr;


类别:wsh 专栏 | 添加到搜藏 | 浏览() | 评论 (2)
 
最近读者:
 
网友评论:
1
2009年03月25日 星期三 08:21 | 回复
com调用真强大
 
2
2009年03月28日 星期六 20:51 | 回复
呵呵,老大也研究这个了


Windows系统防火墙端口批量添加 VBS实现 - 柳永法(yongfa365)'Blog
http://www.yongfa365.com/Item/AddFirewallPort.vbs.html
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu