我试图从PowerShell中的函数返回自定义对象(在C#cmdlet中定义)。我没有得到自定义对象,而是得到了object []。我验证了,如果我仅调用cmdlet,它将返回自定义对象的实例。
我尝试使用Write-Output
和return
,但听起来Write-Output
是我要在这里使用的。
function Get-Data {
param($id)
$data = Measure-Unit -id $id
$data | Save-Data -file "" # this cmdlet returns an integer
Write-Output $data
}
$r = Get-Data -id 1
我希望$r.GetType()
确认$r
的类型为MyObject
,但是$r
的类型为object[]
。我已经确认$ data和Measure-Unit
的输出为MyObject
类型。如何从PowerShell函数输出/返回类型为MyObject
的对象?
更新:Save-Data
cmdlet中的整数似乎是数据输出的一部分。我该如何忽略呢?