通过PowerShell命令获取返回对象的类 - 确定cmdlet的输出数据类型

时间:2018-06-14 17:04:00

标签: powershell types output scom

在PowerShell中,如果命令返回一个或多个对象的数组,我可以通过以下方法找出该对象的类:

$ab = SampleCommand
$ab[0].getType()

但是,如果命令没有返回任何内容(0数组的数组),如何找出命令的默认返回类型?

注意:例如,我正在处理SCOM PowerShell命令,我正在尝试查找命令get-scomscadvisoragent的默认返回类类型,但由于未在我的实验室设置中配置顾问代理,因此它不返回任何内容。因此,我无法获得返回对象的类。

1 个答案:

答案 0 :(得分:6)

如果要确定给定命令原则上输出的对象类型,请使用(Get-Command <cmd>).OutputType;在你的情况下:

(Get-Command get-scomscadvisoragent).OutputType

但请注意,这仅在目标命令通过一个或多个OutputType属性显式声明其输出类型时才有效。

Cmdlet /高级函数可以通过其帮助文本的.OUTPUTS部分(在基于注释的帮助中)以不太正式的方式替代/另外描述其输出类型。
因此,如果上述方法不起作用,您也可以尝试:

(Get-Help get-scomscadvisoragent).returnvalues

后面的信息也可以在左侧输出的OUTPUTS部分找到 Get-Help -Full <cmd>