【问题标题】:batch file for check firewall status and if disable start a file用于检查防火墙状态的批处理文件,如果禁用则启动文件
【发布时间】:2015-10-06 07:25:40
【问题描述】:
我想要一个批处理文件,在以标准访问权限运行后,检查防火墙的状态,如果防火墙被禁用,则启动一个文件。但是,如果启用了防火墙,请显示所有允许的端口。这可能吗?
我正在使用 Windows 注册表值 EnableFirewall 检查防火墙是否已启用。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile
我不确定这是否正确。
【问题讨论】:
标签:
batch-file
port
windows-firewall
【解决方案1】:
您可以使用以下命令获取防火墙当前状态:
netsh advfirewall show allprofiles state
你也可以使用命令
netstat -ab | more
这将获得所有开放端口的列表并将其显示在屏幕上。
至于读取注册表项,您可以使用 reg 查询:
reg query <KeyName> [{/v <ValueName> | /ve}] [/s] [/se <Separator>] [/f <Data>] [{/k | /d}] [/c] [/e] [/t <Type>] [/z]
来源:https://technet.microsoft.com/en-us/library/cc742028.aspx