2012-05-10 8 views
0

Powershellで変数を操作するための助けが必要です。Powershell - 変数からGet-StorageGroupCopyStatusを使用して処理する

Get-StorageGroupCopyStatusの結果を変数に入れて、結果のパラメータを処理できるようにしたいとします。

私は実行すると

Get-StorageGroupCopyStatus -Server server -StandbyMachine standbyserver 

それは「名前」、「SummaryCopyStatus値、 『ある、CopyQueueLength』、および他のよういくつかのプロパティを返します。 事は、私はを通じて、これらのプロパティを操作できるようにしたいということですこのように、IF文の中でそれを使用することができるようにするために、変数:

$st = Get-StorageGroupCopyStatus -Server server -StandbyMachine standbyserver 

if ($st.SummaryCopyStatus -NotMatch "Healthy") 

何が起こっているが、パラメータ「.SummaryCopyStatusは」 『$ ST』変数を介して取得することができないということである

私はここで何が欠けていますか?

答えて

0

はこれを試してみてください、私はそれをテストすることはできません。

$Serv = Get-StorageGroupCopyStatus -Server server -StandbyMachine standbyserver 

$data = @() 

foreach ($item in $serv) 
{ 
$obj = new-object psObject 
$obj | Add-Member -membertype noteproperty -name "Name" -Value $item.StorageGroupName 
$obj | Add-Member -membertype noteproperty -name "CopyStatus -Value $item.SummaryCopyStatus 
$obj | Add-Member -membertype noteproperty -name "CopyQueueLength" -Value $item.CopyQueueLength 
$data += $obj 
} 

$data # contains the properties you added before. 
0

おそらく、オブジェクトのコレクションを取り戻すと、一度にそれぞれ1、1を処理する必要があります。 storge groupsオブジェクトを取得し、qriteriaと一致しないオブジェクトをフィルタ処理し、フィルタリングを通過したオブジェクトで何かを実行します。

Get-StorageGroupCopyStatus -Server server -StandbyMachine standbyserver | 
Where-Object { $_.SummaryCopyStatus -NotMatch "Healthy" } | 
Foreach-Object { "do you stuff here" } 
関連する問題