在PowerShell中,如果命令返回一个或多个对象的数组,我可以通过以下方法找出该对象的类:
$ab = SampleCommand
$ab[0].getType()
但是,如果命令没有返回任何内容(0数组的数组),如何找出命令的默认返回类型?
注意:例如,我正在处理SCOM PowerShell命令,我正在尝试查找命令get-scomscadvisoragent
的默认返回类类型,但由于未在我的实验室设置中配置顾问代理,因此它不返回任何内容。因此,我无法获得返回对象的类。
答案 0 :(得分:6)
如果要确定给定命令原则上输出的对象类型,请使用(Get-Command <cmd>).OutputType
;在你的情况下:
(Get-Command get-scomscadvisoragent).OutputType
但请注意,这仅在目标命令通过一个或多个OutputType
属性显式声明其输出类型时才有效。
Cmdlet /高级函数可以通过其帮助文本的.OUTPUTS
部分(在基于注释的帮助中)以不太正式的方式替代/另外描述其输出类型。
因此,如果上述方法不起作用,您也可以尝试:
(Get-Help get-scomscadvisoragent).returnvalues
后面的信息也可以在左侧输出的OUTPUTS
部分找到
Get-Help -Full <cmd>
。