我使用这篇文章编写了我的第一个自己的 Powershell Cmdlet 和 Snapin。它工作正常。
但是我从我自己的数据类中返回了一组对象,它有四个属性,我希望 Powershell 默认只显示其中一个属性。所以我使用文章的这一部分来创建这个格式文件:
<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
<ViewDefinitions>
<View>
<Name>RemoteFile</Name>
<ViewSelectedBy>
<TypeName>MyFullNamespace.RemoteFileData</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader />
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Filename</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
</ViewDefinitions>
</Configuration>
并将其链接到 Snapin:
public override string[] Formats
{
get { return new string[] { "MyFormatFilename.ps1xml" }; }
}
但是当我使用 installutil 安装 Snapin、使用 Add-PSSnapin 并调用我的 Cmdlet 时,会显示对象的所有属性。
我究竟做错了什么?