2016-03-29 10 views
0

私はサーバのリストを持っています。すべての自動サービスが実行されていないことを確認したい。私は配列に格納し、後でグリッド表示形式で表示したい。 私は以下を試みましたが、うまくいかなかった。出力を配列に格納したい

foreach ($i in $list) { 
    $Res = @(Get-WmiObject Win32_Service -ComputerName $i | Where-Object { 
       $_.StartMode -eq 'Auto' -and $_.State -ne 'Running' 
      } | Select PSComputerName, Name, DisplayName, State, StartMode) 
} 

$Res | Out-GridView 

答えて

1

ループ内の$Resに値を割り当てると、ループサイクルごとに値が上書きされます。あなたはループの外に配列として変数を定義し、それに追加する必要があるだろうとのような構築物について:

$Res = @() 
foreach ($i in $list) { 
    $Res += Get-WmiObject ... 
} 

しかし、これは十分に行うためにバインドされています。通常ループ内で生成される出力を変数に代入する方が良いでしょう。

$Res = foreach ($i in $list) { 
    Get-WmiObject ... 
} 
+0

ありがとうございました。それはうまく動作します。 –

関連する問題