У меня есть массив строковых значений, и я пытаюсь запустить соответствующий цикл (используя оператор -eq
) и возвращает true, если другая переменная соответствует одному из строковых значений в массиве. Хотя я знаю, что значения должны совпадать, цикл возвращает значение false.
В настоящее время я беру объекты PS и извлекаю строковые значения определенного свойства объекта для сопоставления. Я пробовал другие операторы, кроме -eq
, включая -like
с использованием подстановочного знака и -match
, но в поведении изменений нет. Я также в настоящее время создаю список, используя $XXXX.Add($XXXX)
, но мне также не повезло, просто заполнив массив =+
.
foreach ($Server in $UpdateGroupMembers) {
if ($Server -eq $NodeName) {
Write-Host "$Server is a match, loop terminated"
return $true
#break
} else {
Write-Host "There is no match"
return $false
}
}
$NodeName
в приведенном выше коде есть значение, которое, как я знаю, существует в массиве / списке, поэтому я совершенно растерялся.