Set objFirewall = CreateObject("HNetCfg.FwMgr") Set objPolicy = objFirewall.LocalPolicy.CurrentProfile objPolicy.FirewallEnabled = FALSE
此脚本不再适用于Vista / 2008和Windows 7。 即使有海拔。
错误框显示“一个程序或防火墙是不是与这个版本的Windows兼容”
对于一个简单的命令行\batch file:
netsh firewall set opmode disable
或者使用PowerShell:
$firewall = New-Object -com HNetCfg.FwMgr $firewall.LocalPolicy.CurrentProfile.FirewallEnabled = $false
在Windows Vista下都可以正常工作。 如果你仍然有问题,那么我会进一步挖掘,以确保你有正确的权限,并且你正在使用核心的Windows组件来执行脚本。 我有一个并行安装的PowerShell(由VMWare VI工具包使用),当我尝试使用它来禁用防火墙时,抛出与上面列出的安全exception完全相同的安全性,但基本的Powershell v1.0安装工作正常。
自己find了这个:
http://msdn.microsoft.com/en-us/library/dd339606(VS.85).aspx