如何在Windows 7的单个界面上禁用防火墙?

我们使用openvpn来提供从XP返回工作。 我们使用AD策略来确保XP防火墙在closures域时处于启动状态,并在域中处于closures状态。 使用openvpn,你会得到一个新的networking接口,当你离开域名和vpn回到工作,XP去“find域,但我也在一个非域networking,所以防火墙”。

但是,我发现我们可以使用netsh在openvpn接口上完全禁用防火墙:

echo firewall set opmode mode = DISABLE interface = "name of openvpn interface" | netsh 

这非常棒:这意味着当我们的用户在家/酒店时,他们的防火墙已经启动了,但是通过vpn的远程访问是双向的。

然后一起来了Win7(让我们假装Vista不存在 – 不是太难!)。 “域”和“其他”的概念已经消失,现在是“域”,“家庭/工作”和“公共”,您不能在每个接口上禁用防火墙。 这比XP复杂得多,作为一个旁注,我看到许多家庭用户完全禁用Win7防火墙,因为它 – grrr!

无论如何,我的问题是,我如何复制我们在XP下的function? 我怎么能脚本Win7完全禁用openvpn接口上的防火墙,但对其他人正常进行? 最终结果我之后是我们(IS组,AV服务器,vuln扫描仪)可以在酒店/家中等地方远程访问这个盒子,就像在公司的LAN上一样。 我需要一个脚本,因为我的GUI经验意味着我们需要一个10页的屏幕截图文件给我们的帮助台的人!

    您可以在每个NIC(包括虚拟NIC)的基础上使用不同的configuration文件控制防火墙。

    在“控制面板”的“Windows防火墙”中,select树根节点上的属性。 在每个configuration文件选项卡中,“受保护的networking连接”button允许您select哪些网卡受到保护。

    因此,仅在专用configuration文件中禁用NIC,并validation局域网外部的networking检测是否公开。

    我知道这是一个古老的问题,但我会张贴这个参考。 您可以使用Powershell:

     Set-NetFirewallProfile -Name Private -DisabledInterfaceAliases 'Connection Name' 

    资源

    正如“理查德”所说,你可以通过GUI在Windows 7中禁用每个接口的防火墙,它只是隐藏起来。

    不幸的是,在Windows 7上自动执行该设置相当困难。 Netsh不提供对该function的访问(根据microsoft),ProGTXbuild议的powershell命令似乎只是Windows 8。 我发现唯一的方法,使其在Windows 7上自动运行是使用COM API http://msdn.microsoft.com/en-us/library/windows/desktop/aa366418%28v=vs.85%29的.aspx