0

Powershell で変数を操作するのに助けが必要です。

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

私が実行するとき

Get-StorageGroupCopyStatus -Server server -StandbyMachine standbyserver

「Name」、「SummaryCopyStatus、「CopyQueueLength」などのいくつかのプロパティを返します。問題は、IFステートメントで使用できるようにするために、変数を介してこれらのプロパティを操作できるようにしたいということです。これ:

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

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

何が起こっているかというと、変数「$st」からパラメーター「.SummaryCopyStatus」を取得できないということです。

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

4

2 に答える 2

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.
于 2012-05-10T14:15:02.237 に答える
0

おそらくオブジェクトのコレクションが返され、それぞれを一度に 1 つずつ処理する必要があります。ストレージ グループ オブジェクトを取得し、要件に一致しないものを除外してから、フィルタリングを通過したものに対して何かを行います。

Get-StorageGroupCopyStatus -Server server -StandbyMachine standbyserver | 
Where-Object { $_.SummaryCopyStatus -NotMatch "Healthy" } |
Foreach-Object { "do you stuff here" }
于 2012-05-11T08:02:22.957 に答える