New-ADUser -Name Длина слишком длинная

13

Мне нужно добавить около 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

Поэтому я думаю, что это может быть проблемой длины, но я не уверен, как заставить скрипт работать.

Энтони Форнито
источник
1
Есть ли причина, по которой вы используете SID-подобные имена вместо обычных имен?
ЦРУ
Причина, по которой имя пользователя таково, заключается в том, что приложение вызывает пользователей из разных подразделений, а затем запускает пул приложений для сайта от имени этого пользователя. Это для среды жалоб HIPPA, поэтому имена пользователей не должны быть легко различимы. Это формат имени пользователя, который должен быть использован.
Энтони Форнито
2
Для совместимости до 2000, вы ограничены до 20 символов. Я не уверен, какую часть HIPPA вы пытаетесь соблюдать, но я уверен, что если вы не предоставляете пациенту доступ к своему AD, вам не нужна структура именования, которая у вас есть.
ЦРУ
20 символов для sAMAccountName . Вам нужно короткое длинное имя. Вы можете установить более подробное описание и отображаемое имя, если хотите.
Zoredache
Кстати, вы могли бы почти сойти с GUID, представленным для Base64. Это будет ~ 24 символа. Вам действительно нужен 128-битный уникальный идентификатор? Отрежьте несколько битов и закодируйте их правильно, и вы поместите их в 20 полей.
Зоредаче

Ответы:

13

Вы хотите отобразить имя для этой строки из 36 символов или логин для строки из 36 символов?

Если вы используете сервер 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 усечен, однако имя пользователя для входа не

http://thenerdservice.com/userlogin.png

Брайан Керлесс
источник
Спасибо, это сэкономило мне столько времени. Классный сайт, кстати много полезных инструментов.
Энтони Форнито
12

Ограничение в 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      :
Райан Райс
источник