无论Windows防火墙组包含所有启用的规则还是禁用的规则,我都希望获取布尔值。我正在尝试通过此命令获取详细信息
Get-NetFirewallRule -DisplayGroup "XYZ" -Enabled "True"
但是,这将向我返回在XYZ组中启用的每个规则的详细信息。
我想执行类似的操作
如果防火墙组包含10条规则并且启用了这10条规则,则模块返回true,否则返回false。
if("All the rules in a group is enabled"){*Do some stuff*} else{"Do some different stuff"}
我该怎么做?任何其他PowerShell模块也将起作用。
答案 0 :(得分:0)
如果您简单地颠倒逻辑检查是否有任何启用的属性为false,则可以实现所需的结果。
# If any one is false it will do other stuff
if(Get-NetFirewallRule -DisplayGroup "Network Discovery" -Enabled "false")
{
"Do other stuff"
}
else
{
"Do stuff"
}
您还可以检查启用的属性数组中是否存在false
# If all are True, it will do stuff
if('false' -notin (Get-NetFirewallRule -DisplayGroup "Network Discovery").enabled)
{
"Do stuff"
}
else
{
"Do other stuff"
}