我想要一个批处理文件,在运行标准访问后,检查防火墙的状态,如果防火墙被禁用,则启动一个文件。但是,如果启用了防火墙,则显示所有允许的端口。这可能吗?
我正在使用Windows注册表值EnableFirewall
检查是否启用了防火墙。
HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ SharedAccess \参数\ FirewallPolicy \ StandardProfile
我不确定这是不是正确的方法。
您可以使用以下命令获取防火墙的当前状态:
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