Во-первых, конечно, ваш скриншот, а также ваш фрагмент текста и текст, не являющийся фрагментом, похоже, скопированы из программы чтения CSV с графическим интерфейсом, потому что все, что мы получаем, это данные.Данные («V» в «CSV») здесь не так важны, как структура, инкапсуляция данных («CS»).То есть текст, который вы увидите, если откроете файл CSV в Блокноте.Ваша ссылка OneDrive оказалась именно тем, что я искал, хотя даже по какой-то причине это был скриншот исходного CSV, пока я не скачал файл.
Кроме того, просто совет для будущего использования StackOverflow,если у вас есть текст для обмена, всегда лучше сделать это в виде текста, а не изображения, поскольку это делает его доступным для копирования и вставки, поисковых систем и программ чтения с экрана.
В любом случае, для решения вашей проблемы,$userpass
не должна быть единственной переменной, которая неожиданно пуста, поскольку ни одно из свойств $user
также не имеет значения.Вы можете понять, почему, если мы посмотрим на то, что Import-Csv
производит ...
PS> Import-Csv -Path "$Env:Temp\userlist.csv"
Voornaam;Achternaam;Domein;Gebruikersnaam;Wachtwoord;OU;Berekening usernames
----------------------------------------------------------------------------
Test;Account1;01testict.nl;Te.Account1;P@ssw0rd;OU=Users
Testing;Account2;01testict.nl;Te.Account2;P@ssw0rd;OU=Users
Test123;Account3;01testict.nl;Te.Account3;P@ssw0rd;OU=Users
Test971;Account4;01testict.nl;Te.Account4;P@ssw0rd;OU=Users
Test652;Account5;01testict.nl;Te.Account5;P@ssw0rd;OU=Users
Это выводит объекты с одним свойством с именем Voornaam;Achternaam;Domein;Gebruikersnaam;Wachtwoord;OU;Berekening usernames
и всеми значениямидля этой записи, соединенной вместе.Причина этого в том, что Import-Csv
ожидает, что разделитель будет запятой по умолчанию, тогда как ваш файл использует точку с запятой.Исправление заключается в использовании параметра -Delimiter
для указания точки с запятой в качестве разделителя, который будет использоваться Import-Csv
, который, как вы можете видеть, теперь выводит завершенные объекты с правильными свойствами ...
PS> Import-Csv -Path "$Env:Temp\userlist.csv" -Delimiter ';'
Voornaam : Test
Achternaam : Account1
Domein : 01testict.nl
Gebruikersnaam : Te.Account1
Wachtwoord : P@ssw0rd
OU : OU=Users,DC=01testict,DC=nl
Berekening usernames : Te
Voornaam : Testing
Achternaam : Account2
Domein : 01testict.nl
Gebruikersnaam : Te.Account2
Wachtwoord : P@ssw0rd
OU : OU=Users,DC=01testict,DC=nl
Berekening usernames : Te
Voornaam : Test123
Achternaam : Account3
Domein : 01testict.nl
Gebruikersnaam : Te.Account3
Wachtwoord : P@ssw0rd
OU : OU=Users,DC=01testict,DC=nl
Berekening usernames : Te
Voornaam : Test971
Achternaam : Account4
Domein : 01testict.nl
Gebruikersnaam : Te.Account4
Wachtwoord : P@ssw0rd
OU : OU=Users,DC=01testict,DC=nl
Berekening usernames : Te
Voornaam : Test652
Achternaam : Account5
Domein : 01testict.nl
Gebruikersnaam : Te.Account5
Wachtwoord : P@ssw0rd
OU : OU=Users,DC=01testict,DC=nl
Berekening usernames : Te
...и так, с этим изменением ваша итераторная переменная $user
в блоке foreach
также будет иметь ожидаемые свойства.