Командлет Import-Csv
выводит пользовательские объекты , чьи свойства соответствуют значениям столбца входного файла CSV .
Следовательно, ваша переменная $users
по определению не содержит имена учетных записей SAM напрямую , она содержит пользовательские объекты один из которых свойства содержит значение интереса.
Например, если C:\path\to\csv
содержит что-то вроде:
SamAccountName,More,Stuff
user1,foo,bar
user2,baz,bam
...
Ваше условное выражение должно быть:
if ($member -contains $user.SamAccountName) { # ...
Если в вашем CSV-файле отсутствует строка заголовка или это просто текстовый файл с (подразумеваемым) одним столбцом значений, вы можете указать его с помощью -Header
; например, если C:\path\to\csv
содержит только:
user1
user2
...
вы можете использовать $users = Import-Csv -LiteralPath C:\path\to\csv -Header SamAccountName
и использовать те же условия, что и выше, или, проще говоря, если есть только один столбец, использовать
$users = Get-Content C:\path\to\csv
чтобы прочитать строки в массив и использовать исходное условное выражение.