如何使用'Get'语句添加到foreach循环中的变量列表?

时间:2017-01-30 13:26:24

标签: powershell

我正在尝试在foreach循环中使用'Get'语句将结果存储在变量列表中。 下面是一个示例代码:

$runningServices = "Search Host Controller Service", "Managed Metadata Web Service", "Business Data Connectivity Service", "Secure Store Service"

foreach ($runningService in $runningServices)
{
    $derp += Get-SPServiceInstance | Where-Object {$_.TypeName -like $runningService -and $_.Server -like '*APP'} | Select TypeName, Server, Status
}

$derp

目前,这仅显示第一个条目,并抛出一个错误,即PSObject不包含名为“op_Addition”的方法。

关于如何将所有4个服务存储在变量中并将其输出的任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

您可以将$derp声明为数组并按原样使用您的代码,或省略添加,只需将foreach语句分配给$derp = foreach ($runningService in $runningServices) { Get-SPServiceInstance | Where-Object {$_.TypeName -like $runningService -and $_.Server -like '*APP'} | Select TypeName, Server, Status }

$rootScope