除了我不确定它在没有定义列标题标签的情况下的行为之外,一切看起来都是正确的。尝试添加此节点而不是空节点:
<TableColumnHeader>
<Label>FileName</Label>
</TableColumnHeader>
还要确保文件
MyFormatFilename.ps1xml
在通过add pssnapin加载管理单元时与该管理单元位于同一目录中。另外,可能是duh,但要仔细检查在
<TypeName>
元素。
更新:我尝试了上面列出的XML,它适用于我。我将它复制到notepad2并保存到c:\temp\test.ps1xml,然后执行:
1# $obj = new-object psobject
2# $obj.psobject.TypeNames.Insert(0, 'MyFullNamespace.RemoteFileData')
3# Add-Member -InputObject $obj -MemberType NoteProperty -Name Filename `
-Value 'some-remotefile.txt'
4# Add-Member -InputObject $obj -MemberType NoteProperty -Name Dummy `
-Value 'dummy prop'
5# $obj.psobject.TypeNames
MyFullNamespace.RemoteFileData
System.Management.Automation.PSCustomObject
System.Object
6# $obj
Filename Dummy
-------- -----
some-remotefile.txt dummy prop
7# Update-FormatData C:\temp\test.ps1xml
8# $obj
Filename
--------
some-remotefile.txt
我要仔细检查一下全名
instance.GetType().FullName
并再次检查格式化文件的内容。确保它与您从中注册管理单元的目录相同。