Powershell - Заявка за списък на защитната стена за експортиране на сървъри в csv

Използвам следното, за да запитам правилата на защитната стена на списък със сървъри.

$servers = Get-Content fw_servers.txt

foreach($serv in $servers) {
$fw = New-Object -ComObject hnetcfg.fwpolicy2 

$fw.rules | 

Where-Object { $_.enabled -and $_.LocalPorts -like 3389 } | 

Select-Object -Property direction,protocol, localports,name 
}

Бих искал да експортирам тази информация в csv файл. Може ли някой да ми каже как мога да използвам Export-CSV за това? Опитах се да го направя в масив, но не работи за мен. Аз съм с 2.0

Също така бих искал експортираните данни да изглеждат по следния начин

Server    Direction   Protocol   LocalPorts    Name
testsrv1  1           6          3389          Remote Desktop (TCP-In)
testsrv2  1           6          3389          Research Remote Desktop Policy

Благодаря ти за помощта.

Амелия


person user1131196    schedule 13.06.2012    source източник


Отговори (1)


Имах прозрение и някак си го разбрах. Следното, макар и не красиво, работи за мен.

$servers = Import-CSV fw_servers.csv
$servers | Foreach {
$serv = $_.serv
foreach-object { 
       $name = $_."Server"
       $fw = New-Object -ComObject hnetcfg.fwpolicy2 
       $fw.rules | 
       Where-Object { $_.enabled -and $_.LocalPorts -like 3389 } | 

       Select-Object @{Name="Server"; Expression={$name}}, direction, protocol, localports, name 
               }
} | Export-CSV C:\Users\trankaa\desktop\fw_res.csv -NoTypeInformation -Force
person user1131196    schedule 14.06.2012