我不确定自己在做什么错:

    $ZertoGenericAlert =  "VRA0030"
    $ZvmToVraConnection = "ZVM0002"
    $ZvmToZvmConnection = "ZVM0003", "ZVM0004"

  $thoseerrors = "ZVM0002", "VPG0006", "VPG0004" , "ZVM0003", "ZVM0004"

  if ($thoseerrors -contains $ZvmToZvmConnection) {Echo "bingo"} Else {Echo "fail"}

当我运行整个代码段时,它总是作为“失败”出现

当在$zvmtozvmconnection中仅找到时,它给我“宾果”

即我删除“ZVM0004”,仅剩下“ZVM003”,我得到“宾果”

我也测试了-match,但是也没有用

请帮忙

最佳答案

-contains不能那样工作。它检查数组中是否包含单个项目。 -in相同,其他顺序相同($array -contains $item$item -in $array)。

您应该为此使用Compare-Object cmdlet:

if ((Compare-Object -ReferenceObject $thoseerrors -DifferenceObject $ZvmToZvmConnection -ExcludeDifferent -IncludeEqual)) {
    'bingo'
} else {
    'fail'
}

09-25 17:27