Использование диапазона номеров в операторе Where - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь использовать диапазон чисел в операторе Where, повторяя цикл foreach.Переменная $i используется для разделения частей цикла в зависимости от того, сколько итераций прошло цикл.

$a = 11..20
$i = 0
$PoolSW = ""
$PoolSW2 = ""
$PoolSW3 = ""

foreach ($Pool in $PoolTable) {
    $i++
    [Array]$PoolSW += "Statistic.Pool$($Pool.Name -replace "-","_"): $(Get-PoolHealth -BooleanState $Pool.Enabled)" | where {$i -le 10}
    [Array]$PoolSW2 += "Statistic.Pool$($Pool.Name -replace "-","_"): $(Get-PoolHealth -BooleanState $Pool.Enabled)" | where {$i -eq $a}
    [Array]$PoolSW3 += "Statistic.Pool$($Pool.Name -replace "-","_"): $(Get-PoolHealth -BooleanState $Pool.Enabled)" | where {$i -gt 20}
}

Переменные $PoolSW и $PoolSW3 работают отлично, к сожалению, я нене знаю, как заставить $PoolSW2 работать правильно.Я пробовал where {$i -eq 11..20}, пробовал разделять числа запятыми, пробовал также -contains.

1 Ответ

2 голосов
/ 13 марта 2019

Вы можете использовать диапазон как -

... | where {$i -ge 11 -and $i -le 20}

OR

Использование оператора -In -

... | where {$i -in 11..20}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...