0

私は最初のカスタム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は適切なビュー名でそこにあります!

読んでくれてありがとう。

4

1 に答える 1

0

$ xが入力したインスタンスである$x.GetType()。FullNameは何を返しますか?(つまり、これはPSHがタイプ名と一致していないように聞こえます。)

タイプ名は、フォーマットされるオブジェクトの正確なタイプ、またはオブジェクトの基本タイプと一致することに注意してください。

于 2011-09-30T07:00:34.827 に答える