0

複数のグループ ポリシー オブジェクトで指定されているファイアウォール ルールをエクスポートしようとしていますが、エクスポートされたファイルに GPO の名前を含めたいと考えています。$Policyそのため、新しい gpo が解析されるたびに、文字列変数を取得して csv ファイルに詰め込もうとしましたが、得られるのは gpo 名だけであり、からのフィールドではありませんGet-NetFirewallRule。もちろん、$policy | Out-File $env:temp\gpos.csv -Append -Force行を削除すると、すべてのフィールドが取得Get-NetFirewallRuleされますが、それらはすべて大きな csv ファイルにあり、ソース GPO を特定できません。


foreach ($policy in $PolicyObjects) {
$GPO = Open-NetGPO -PolicyStore "contoso.com\$policy"
$policy | Out-File $env:temp\gpos.csv  -Append -Force
Get-NetFirewallRule -GPOSession $GPO  | 
Select Name,
DisplayName,
DisplayGroup,
@{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},
@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}},
@{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},
@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},
Enabled,
Profile,
Direction,
Action | Export-CSV $env:temp\gpos.csv -Append -Force
}
Start-Process notepad $env:temp\gpos.csv 
4

3 に答える 3