私は最初のカスタムCMDLetをPowerShell2.0で作成しています。コマンドレットでカスタムフォーマットのtemaplatexmlが使用されていないという問題が発生しました。これが私のフォーマットファイルです:
<Configuration>
<ViewDefinitions>
<View>
<Name>abc</Name>
<ViewSelectedBy>
<TypeName>ExtractServicesCmd.ServiceInfo</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Label>ServiceName</Label>
<Width>12</Width>
<Alignment>right</Alignment>
</TableColumnHeader>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>ServiceName</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
</ViewDefinitions>
</Configuration>
すべてがうまくいき、Formatは適切なタイプで正常に登録されています(Get-FormatDataコマンドを使用してチェックしました)。しかし、私のコマンドレットを実行するとき、それはまだデフォルトのフォーマットを使用します。「|Format-Table-View abc」をパイプ処理して、フォーマッターを強制的に使用しようとしましたが、「abc」という名前のビューが見つかりません。何が起こっている?Get-FormatDataを試し、エントリを分析しました-私のViewDefinitionは適切なビュー名でそこにあります!
読んでくれてありがとう。