Comprimento de New-ADUser -Name muito longo

13

Preciso adicionar cerca de 500 usuários a uma OU no AD

Eu escrevi tudo o que preciso, no entanto, ele fornece o erro: the name provided is not a properly formed

Aqui está o script

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

Fiz um teste para confimar qual é o 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 com algumas outras variações

O que funcionou:

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

Portanto, acho que pode ser um problema longo, mas não sei como fazer o script funcionar.

Anthony Fornito
fonte
1
Existe uma razão para você usar nomes semelhantes ao SID em vez de nomes comuns?
CIA
A razão para o nome de usuário ser assim é porque o aplicativo chama os usuários de diferentes UOs e executa o pool de aplicativos para o site como esse usuário. Este é um ambiente de reclamação para HIPPA, portanto, os nomes de usuário não devem ser facilmente distinguidos. Esse é o formato do nome de usuário que deve ser usado.
Anthony Fornito 10/09
2
Para compatibilidade anterior a 2000, você está limitado a 20 caracteres. Não sei com que parte do HIPPA você está tentando cumprir, mas, a menos que você esteja dando acesso do paciente ao seu AD, não há necessidade da estrutura de nomes que você possui.
CIA
20 caracteres para sAMAccountName . Você precisa de um nome longo e mais curto. Você pode definir uma descrição mais longa e um nome para exibição, se quiser.
Zoredache
BTW, você quase conseguiu escapar com o GUID representado no Base64. Isso seria ~ 24 caracteres. Você realmente precisa de um ID exclusivo de 128 bits? Corte alguns bits, codifique-o da maneira certa e encaixe-o em um campo de 20.
Zoredache

Respostas:

13

Deseja exibir o nome dessa sequência de 36 caracteres ou o logon para ser a sequência de 36 caracteres

Se você estiver usando o servidor 2012 R2, poderá definir apenas o nome de exibição para 20 caracteres, no entanto, o nome de login pode ter até 64 caracteres (eu acho) usando "-UserPrincipalName"

Tente isto

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

Isso criará o nome de exibição e truncará o valor de -UserPrincipalName, que será o nome de login do usuário.

Veja as propriedades de qualquer usuário para definir os sinalizadores apropriados.

http://thenerdservice.com/useradd.png

Você pode ver que o login anterior a 200 está truncado, mas o nome de login do usuário não é

http://thenerdservice.com/userlogin.png

Brian Curless
fonte
Graças a isso, me poupou muito tempo. Site legal por diversas ferramentas úteis.
Anthony Fornito 11/09/14
12

Limite de 20 caracteres para sAMAccountName. Não há maneira real de contornar isso. O engraçado é que existem 256 caracteres (~ 120 Unicode) reservados para ele, mas o mecanismo dos Serviços de Diretório permite apenas o uso de 20.

Edit: Deixe-me ser um pouco mais claro. Você pode ter um nome que exceda 20 caracteres, mas não um sAMAccountName. Isso pode atender às suas necessidades. Deixe-me demonstrar:

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
fonte