我想要一个批处理文件,在使用标准访问权限运行后,检查防火墙的状态,如果防火墙被禁用,则启动文件。但是,如果启用了防火墙,则显示所有允许的端口。这可能吗?
我正在使用Windows注册表值EnableFirewall
检查防火墙是否已启用。
HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \服务\ SharedAccess \参数\ FirewallPolicy \ StandardProfile
我不确定这是否正确。
答案 0 :(得分:1)
您可以使用以下命令获取防火墙当前状态:
netsh advfirewall show allprofiles state
您也可以使用命令
netstat -ab | more
这将获得所有开放端口的列表并在屏幕上显示。
至于阅读注册表项,您可以使用reg query:
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