1

当我Get-Recipient | ft Name在控制台中运行时,一切看起来都很好,但是当我在脚本中尝试时,输出只是一个类名列表; Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData
我该如何解决?感谢任何和所有的帮助!

//大卫

4

1 回答 1

5

Format-*cmdlet 应该只用于控制数据的显示。它们应该很少在“库”类型的脚本或函数中使用,可能在显示状态消息或其他内容时使用。cmdlet的实际输出Format-*是一堆魔术对象(这些FormatEntryData家伙),它们指导 Powershell 引擎如何进行显示格式化。

它可以在控制台中工作,因为您没有捕获数据,只是让它显示在屏幕上。

在您的脚本中,您应该按原样返回数据,并让调用者决定如何格式化它,如果他愿意的话。如果您只想返回该Name字段,请使用Select-Object Name删除其他字段。

于 2013-10-09T18:59:39.397 回答