New-ADUser-이름 길이가 너무 깁니다


13

AD의 OU에 약 500 명의 사용자를 추가해야합니다.

필요한 모든 것을 스크립트로 작성했지만 오류가 발생합니다. 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와 같은 이름을 사용하는 이유가 있습니까?
CIA

사용자 이름이 같은 이유는 응용 프로그램이 다른 OU에서 사용자를 호출 한 다음 해당 사용자로 사이트의 응용 프로그램 풀을 실행하기 때문입니다. 이것은 HIPPA 불만 환경을위한 것이므로 사용자 이름을 쉽게 구별 할 수 없습니다. 이것이 사용되어야하는 사용자 이름 형식입니다.
Anthony Fornito

2
2000 이전 버전과의 호환성을 위해 20 자로 제한됩니다. HIPPA의 어느 부분을 준수하려고하는지 잘 모르겠지만, AD에 대한 환자의 액세스 권한을 부여하지 않으면 이름 지정 구조가 필요하지 않습니다.
CIA

sAMAccountName은 20 자입니다 . 더 짧은 긴 이름이 필요합니다. 원하는 경우 더 긴 설명과 표시 이름을 설정할 수 있습니다.
Zoredache

BTW는 Base64로 표시된 GUID로 거의 벗어날 수 있습니다. ~ 24 자입니다. 실제로 128 비트 고유 ID가 필요합니까? 몇 비트를 잘라내어 올바른 방식으로 인코딩하면 20 필드에 맞출 수 있습니다.
Zoredache

답변:


13

36 문자열로 이름을 표시 하시겠습니까, 아니면 36 문자열로 로그인 하시겠습니까?

서버 2012 R2를 사용하는 경우 표시 이름을 20 자로 만 설정할 수 있지만 로그인 이름은 "-UserPrincipalName"을 사용하여 최대 64 자 (제 생각에)입니다.

이 시도

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


덕분에 시간이 많이 절약되었습니다. 유용한 도구가 많이있는 멋진 사이트입니다.
Anthony Fornito

12

sAMAccountName은 20 자로 제한됩니다. 진짜 방법은 없습니다. 재미있는 점은 256 문자 (~ 120 유니 코드)가 예약되어 있지만 디렉토리 서비스 엔진에서는 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      :
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.