New-ADUser -Name Longitud demasiado larga

13

Necesito agregar alrededor de 500 usuarios a una unidad organizativa en AD

He escrito todo lo que necesito, sin embargo, me da el error: the name provided is not a properly formed

Aquí está el guión

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

Ejecuté un par de pruebas para confirmar cuál es el problema:

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

Junto con otras variaciones

¿Qué funcionó?

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

Así que creo que puede ser un problema extenso, pero no estoy seguro de cómo hacer que el script funcione.

Anthony Fornito
fuente
1
¿Hay alguna razón por la que está usando nombres similares a SID en lugar de nombres normales?
CIA
La razón para que el nombre de usuario sea así es porque la aplicación llama a los usuarios de diferentes unidades organizativas y luego ejecuta el grupo de aplicaciones para el sitio como ese usuario. Este es un entorno de quejas de HIPPA, por lo que los nombres de usuario no deben distinguirse fácilmente. Ese es el formato de nombre de usuario que debe usarse.
Anthony Fornito
2
Para la compatibilidad anterior a 2000, está limitado a 20 caracteres. No estoy seguro de qué parte de HIPPA está tratando de cumplir, pero estoy seguro de que a menos que le esté dando acceso al paciente a su AD, no hay necesidad de la estructura de nombres que tiene.
CIA
20 caracteres para sAMAccountName . Necesitas un nombre largo más corto. Puede establecer una descripción más larga y mostrar el nombre si lo desea.
Zoredache
Por cierto, casi podrías salirte con el GUID representado en Base64. Eso sería ~ 24 caracteres. ¿Realmente necesitas una identificación única de 128 bits? Corta algunos bits, codifícalos de la manera correcta y los encajarás en un campo 20.
Zoredache

Respuestas:

13

¿Desea mostrar el nombre de esa cadena de 36 caracteres o el inicio de sesión para ser la cadena de 36 caracteres

Si está utilizando el servidor 2012 R2, solo puede establecer el nombre para mostrar en 20 caracteres, sin embargo, el nombre de inicio de sesión puede ser de hasta 64 caracteres (creo) usando "-UserPrincipalName"

Prueba esto

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

Esto creará el nombre para mostrar y truncará el valor de -UserPrincipalName, que será el nombre de inicio de sesión del usuario.

Consulte las propiedades de cualquier usuario para establecer las banderas apropiadas.

http://thenerdservice.com/useradd.png

Puede ver que el inicio de sesión anterior a 200 está truncado, sin embargo, el nombre de inicio de sesión del usuario no es

http://thenerdservice.com/userlogin.png

Brian Curless
fuente
Gracias, esto me ahorró mucho tiempo. Sitio genial por cierto muchas herramientas útiles.
Anthony Fornito
12

Límite de 20 caracteres para sAMAccountName. No hay forma de evitarlo. Lo curioso es que hay 256 caracteres (~ 120 Unicode) reservados para él, pero el motor de Servicios de Directorio solo le permite usar 20.

Editar: Déjame ser un poco más claro. Usted puede tener un nombre que supera los 20 caracteres, pero no un sAMAccountName. Eso puede satisfacer sus necesidades. Déjame demostrarte:

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      :
Ryan Ries
fuente