通过Powershell查找正在使用的防火墙

时间:2019-03-11 14:16:28

标签: powershell firewall

如何使用Powershell查找在计算机上启用的防火墙的名称?

我不想知道防火墙是否已启用,我只想知道它的名称,即您在“控制面板”的“安全和维护”中看到的内容。谢谢!

控制面板安全性屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:0)

以下脚本在Windows 10版本1809上为我运行:

$computer   = '.'                                             # $env:COMPUTERNAME
$namespaces = "ROOT\SecurityCenter", "ROOT\SecurityCenter2"
$classname  = "FirewallProduct"
$ActiveFireWall = foreach ($namespace in $namespaces) {
    $aux = Get-WmiObject -Class $classname -Namespace $namespace -ComputerName $computer
    if ($aux) {
        $aux | Select-Object -Property [a-z]* -ExcludeProperty PSComputerName, 
                 Scope, Path, Options, ClassPath, Properties, SystemProperties, 
                 Qualifiers, Site, Container
    }
}
if ( $ActiveFireWall ) { $ActiveFireWall.displayName }