使用powershell.invoke和pipeline.invoke调用时,相同脚本的结果以两种格式显示

时间:2014-01-03 06:30:08

标签: windows powershell invoke-command

我正在调用以下脚本来显示计算机中的本地用户帐户:

$adsi = [ADSI]'WinNT://localhost';
$adsi.Children | where {$_.SchemaClassName -eq 'user'} |Select-Object @{n='UserName';e={$_.Name}};

使用powershell.invoke执行上述脚本时,结果为

@{UserName=account17}

使用pipeline.invoke执行相同的脚本时,结果为:

UserName
--------
account17

使用PowerShell和管道调用时,为什么同一脚本的输出存在差异?

1 个答案:

答案 0 :(得分:0)

不确定但是powershell.invoke输出看起来像是通过write-host的对象输出而pipeline.invoke看起来像write-output输出,即使两者都应该返回一个psobject。 更多代码会有所帮助