0

サーバーのリストのファイアウォールルールをクエリするために、以下を使用しています。

$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

ご協力ありがとうございました。

アメリア

4

1 に答える 1

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
于 2012-06-14T02:26:46.953 に答える