Мне нужно добавить около 500 пользователей в OU в AD
Я написал все, что мне нужно, но выдает ошибку: the name provided is not a properly formed
Вот сценарий
New-ADUser -Name C080CAB1-9756-409F-914D-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
Я провел пару тестов, чтобы выяснить, в чем проблема:
New-ADUser -Name "C080CAB1-9756-409F-914D-AE3971F67DE7" -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
New-ADUser -Name 'C080CAB1-9756-409F-914D-AE3971F67DE7' -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
New-ADUser -Name C080CAB1`-9756`-409F`-914D`-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
Наряду с парой других вариаций
Что сработало:
New-ADUser -Name C080CAB1-9756-409F -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
Поэтому я думаю, что это может быть проблема с длиной, но я не уверен, как заставить скрипт работать.
Вы хотите отображать имя для этой строки из 36 символов или логина как строки из 36 символов
Если вы используете server 2012 R2, вы можете установить только отображаемое имя на 20 символов, однако имя для входа может быть до 64 символов (я думаю), используя "-UserPrincipalName"
Попробуй это
New-ADUser -Name C080CAB1-9756-409F-9 -UserPrincipalName C080CAB1-9756-409F-914D-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
Это создаст отображаемое имя и усечет значение -UserPrincipalName, которое будет именем пользователя для входа в систему.
Просмотрите свойства любого пользователя, чтобы установить соответствующие флаги.
http://thenerdservice.com/useradd.png
Вы можете видеть, что вход в систему до 200 усечен, однако имя пользователя не указано.
Ограничение на 20 символов для sAMAccountName. Нет никакого реального способа обойти это. Забавно то, что для него зарезервировано 256 символов (~ 120 Unicode), но механизм служб каталогов позволяет использовать только 20.
Изменить: позвольте мне быть более ясным. Вы жестяная банка иметь имя, превышающее 20 символов, но не sAMAccountName. Это может удовлетворить ваши потребности. Позвольте мне продемонстрировать:
New-ADUser C080CAB1-9756 # 20 character limit here
Rename-ADObject 'CN=C080CAB1-9756,CN=Users,DC=lab,DC=com
Get-ADUser C080CAB1-9756
DistinguishedName: CN=C080CAB1-9756-409F-914D-AE3971F67DE7,CN=Users,DC=lab,DC=com
Name : C080CAB1-9756-409F-914D-AE3971F67DE7
SamAccountName : C080CAB1-9756
DisplayName :