Set objFirewall = CreateObject("HNetCfg.FwMgr")
Set objPolicy = objFirewall.LocalPolicy.CurrentProfile
objPolicy.FirewallEnabled = FALSE
此脚本不再适用于 Vista/2008 和 Windows 7。即使经过提升。
显示错误框“程序或防火墙与此版本的 Windows 不兼容”
答案1
对于简单的命令行\批处理文件:
netsh firewall set opmode disable
或者使用 PowerShell:
$firewall = New-Object -com HNetCfg.FwMgr
$firewall.LocalPolicy.CurrentProfile.FirewallEnabled = $false
两者在 Windows Vista 下均可正常工作。如果您仍然遇到问题,那么我会进一步深入研究以确保您拥有正确的权限并且您正在使用核心 Windows 组件来执行脚本。我并行安装了 PowerShell(由 VMWare VI Toolkit 使用),当我尝试使用它来禁用防火墙时,它会抛出与您上面列出的完全相同的安全异常,但对于基本的 Powershell v1.0 安装,它可以正常工作。