トランスポート ルール関連のコマンドとして Export-TransportRuleCollection コマンドと Import-TransportRuleCollection コマンドがあります。
基本的にこれらはその名前の通りトランスポート ルールのエクスポートとインポートを行うためのコマンドであり、設定内容を取得したり確認したりするためのものではありません。
設定内容を取得するには Get-TransportRule コマンドを使用するべきです。
ですが Export-TransportRuleCollection コマンドの出力内容としては XML でラップされた New-TransportRule コマンドになっているので、内容を読もうと思えば読むこともできます。
なかなか役に立つ機会は無いと思いますがやり方を紹介します。
まずはトランスポート ルールの内容をエクスポートします。
今回は Export-TransportRuleCollection コマンドの Docs に記載の例を参考にして、以下のようにエクスポートしてファイルに保存します。
1 2 | $File = Export-TransportRuleCollection Set-Content -Path "C:\Temp\Rules.xml" -Value $File .FileData -Encoding Byte |
本来はこのファイルをバイト配列として読み取って Import-TransportRuleCollection コマンドに渡しますが、今回は内容を確認したいので Get-Content コマンドでファイルの内容を取得する時にデータ型を明示的に xml としておきます。
1 | [xml] $RuleCollection = Get-Content -Path "C:\Temp\Rules.xml" |
あとは中身を表示します。
独特な親子関係を持つ XML 形式になっているので、以下のようにして必要な情報を一元的に表示してあげます。
1 | $RuleCollection .rules.rule | %{ $_ | select name, id, format, @{n= "requiredMinVersion" ; e={ $_ .version.requiredMinVersion}}, @{n= "commandBlock" ;e={ $_ .version.commandBlock. "#cdata-section" }}} |