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

您可能会取回一组对象,并且需要一次处理一个对象。获取存储组对象,过滤掉与您的 qriteria 不匹配的对象,然后对通过过滤的对象执行某些操作。

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