Cuadrícula de salida a través de PowerShell para todas las reglas entrantes del Firewall de Windows Defender

Cuadrícula de salida a través de PowerShell para todas las reglas entrantes del Firewall de Windows Defender

Tengo un script de PowerShell que funciona, pero lo que tengo problemas es obtener una cuadrícula de salida como una hoja de Excel.

Aquí está el código:

Get-NetFirewallRule |
    Where-Object {($_.Profiles -band [Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetSecurity.Profile]::Domain) -or ($_.Profiles -eq [Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetSecurity.Profile]::Any)} |
    ForEach-Object {
        $portFilter = Get-NetFirewallPortFilter -AssociatedNetFirewallRule $_
        $_ | Select-Object -Property `
            Name,
            DisplayName,
            DisplayGroup,
            Profiles,
            Direction,
            @{n='Protocol'; e={$portFilter.Protocol}},
            @{n='LocalPort'; e={$portFilter.LocalPort}},
            @{n='RemotePort'; e={$portFilter.RemotePort}},
            @{n='RemoteAddress'; e={(Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $_).RemoteAddress}},
            Enabled,
            Profile,
            Action
    }

¿Cómo puedo obtener la salida en un formato de cuadrícula donde la muestra como una hoja de cálculo de Excel?

Respuesta1

Solo agrega | Out-GridViewal final:

Get-NetFirewallRule |
    Where-Object {($_.Profiles -band [Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetSecurity.Profile]::Domain) -or ($_.Profiles -eq [Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetSecurity.Profile]::Any)} |
    ForEach-Object {
        $portFilter = Get-NetFirewallPortFilter -AssociatedNetFirewallRule $_
        $_ | Select-Object -Property `
            Name,
            DisplayName,
            DisplayGroup,
            Profiles,
            Direction,
            @{n='Protocol'; e={$portFilter.Protocol}},
            @{n='LocalPort'; e={$portFilter.LocalPort}},
            @{n='RemotePort'; e={$portFilter.RemotePort}},
            @{n='RemoteAddress'; e={(Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $_).RemoteAddress}},
            Enabled,
            Profile,
            Action
    } | Out-GridView

Parece:

captura de pantalla

información relacionada