$list1 | Where-Object ...
será executado em todos os elementos de $list1
, por isso não há necessidade de usar foreach
. Além disso, você pode comparar seus CSVs por meio do Compare-Object
cmdlet :
$list1 = @(Import-Csv .\list1.csv)
$list2 = @(Import-Csv .\list2.csv)
$list1 = @($list1 | Where-Object {
@(Compare-Object $_ $list2 -Property FirstName,LastName,MiddleName,City -IncludeEqual -ExcludeDifferent).count -eq 0
})