当我在控制台中运行Get-Recipient | ft Name
时,一切看起来都不错,
但是当我在脚本中尝试它时,输出只是一个类名列表;
Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData
我该如何解决?感谢任何和所有的帮助!
//大卫
答案 0 :(得分:5)
Format-*
cmdlet应仅用于控制显示数据。它们应该很少在“库”类型的脚本或函数中使用,期望可能在显示状态消息或其他东西时。 Format-*
cmdlet的实际输出是一组魔术对象(FormatEntryData
人),它们指示Powershell引擎如何进行显示格式化。
它可以在控制台中运行,因为您没有捕获数据,只是让它显示在屏幕上。
在您的脚本中,您应该按原样返回数据,并让调用者决定如何格式化它,如果他想要的话。如果您想返回仅 Name
字段,请使用Select-Object Name
去除其他字段。