Я пишу свой первый собственный CMDLet в powershell 2.0. Я обнаружил проблему с тем, что пользовательский формат temaplate xml не используется в моем командлете.
Вот мой файл форматирования:
<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>
Все идет хорошо, формат успешно регистрируется (я проверил это с помощью команды Get-FormatData ) с правильным типом. Но при выполнении моего командлета все равно используется форматирование по умолчанию. Я даже пытался принудительно использовать мой форматер, набрав "| Format-Table -View abc" , но он говорит - не могу найти представление с именем abc! Что здесь происходит? Я попытался Get-FormatData и проанализировал записи - там присутствует мое ViewDefinition с правильным именем представления!
Спасибо за чтение.