O $ objIgnore.Name existe? Verifique a saída de $ objIgnore.Name e verifique se ela contém o que você acha que faz. Eu acho que $ objIgnore.Name pode estar vazio. Se não, você ainda pode ter que convertê-lo em uma string de um PSObject. O que isso produz?
foreach($objIgnore in $arrIgnore){
$objIgnore.Name
}
Consegui que o código a seguir funcionasse como você queria.
$arrIgnore = import-csv ".\ignore.csv"
$objAll = import-csv ".\all.csv"
foreach($objIgnore in $arrIgnore){
$objAll = $objAll | where {$_.Name -ne $objIgnore.Name}
}
onde ignore.csv contém
Name
srv1
srv2
srv3
srv4
srv5
e all.csv contém
Name
srv1
srv2
srv3
srv4
srv6
srv5
srv7
srv8
srv9
srv10
Na conclusão, $ objAll retorna
Name
----
srv6
srv7
srv8
srv9
srv10