3

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

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

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

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

4

1 回答 1

9

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

(Get-Command get-scomscadvisoragent).OutputType

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


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

(Get-Help get-scomscadvisoragent).returnvalues

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

于 2018-06-14T18:01:01.097 回答