$Ids = @(0317,11432,1104,9999,1955)
$rows = @(Import-Csv C:\mycsv.csv |? { $Ids -contains $_.ID})
$rows
будет массивом отфильтрованных строк.Вы можете перебирать массив с помощью:
$rows | % { Write-Host "$($_.Id)"}
$_
ссылается на отфильтрованную строку и имеет свойства, соответствующие именам столбцов.
?
- это ярлык для командлета where-object .
%
- это ярлык для командлета foreach-object .
Обновление :
Этот код работает:
$s =@'
Student ID,OtherID,First Name,Last Name,Middle Name,Birth Date,,,,,,,,Street Address Line 1,Street Address Line 2,Apartment,City,State,Zip
1317,,a,b,c,6/11/2019,,,,,,,,1 5th dr,,,main,nv,55555
1132,,d,e,f,6/10/2019,,,,,,,,7 24th dr,,,duke,az,55555
'@
$csv = convertfrom-csv $s
$Ids = @(1317,1132, 11432,1104,9999,1955)
$rows = $csv |? { $Ids -contains $_.'Student ID'}
$rows | % { $_.'Student ID'}
Возвращает:
1317
1132
Вот ссылка на работающую версию.