Powershell 对 Invoke-Command 结果中的数据进行排序

问题描述 投票:0回答:1

我正在多个服务器上通过调用命令运行一个 exe,它可以工作。我得到一个字符串数组,其中包含我期望的所有输出。

$result = invoke-command $servers { & "\path\toexe" arg1 }

这给了我正确的结果

str3
字符串4
字符串2

...并且

PSCOMPUTER
的名称也在那里,但我无法将它们一起显示,因此我无法立即将结果与
PSComputername
匹配。

$Result|GM 
只向我显示 PScomputername 和 RunspaceID 作为属性。就像
$result
数组没有字符串的标签。

$result | Select * 
没有显示字符串

$Result.gettype()
显示是
[object]  System.Array

我能做到

$result[0]
会告诉我
str3

然后
$result[0].PSComputername
就会显示
Server3

如何将整个数组显示在屏幕上或一起转储到 csv?我想看看

PS 计算机名称 ??
服务器3 str3
服务器2 str2
powershell powershell-remoting
1个回答
0
投票

您可以使用

Select-Object
创建由附加的
PSComputerName
属性以及包含原始字符串的内在值的新命名属性组成的新对象:

$result |Select-Object PSComputerName,@{Name='Value';Expression={"$_"}}
© www.soinside.com 2019 - 2024. All rights reserved.