
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-GridView
al 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: