Обновление:
Похоже, -in
добавлено в v3.0. Предполагается, что это было там все время!
Так что в v2.0 вы должны использовать -contains
или -eq
:
$tables = gci | where { $tablelist -contains $_.Name}
или
$tables = gci | where { $tablelist -eq $_.Name}
Вы можете использовать несколько операторов:
$a = 1,2,3
1 -in $a #True
4 -in $a #False
$a -contains 1 #True
$a -contains 4 #True
$a -eq 1 #gives 1
$a -eq 4 #returns nothing
Оператор -in
похож на тот, к которому вы привыкли в SQL. При использовании с массивом -eq
видит, присутствует ли элемент в массиве, и возвращает элемент, если это так. Таким образом, вы можете использовать его как if($a -eq 1)
Так что в вашем случае вы можете сделать что-то вроде:
$tables = gci | where {$_.Name -in $tablelist }