Tôi đang cố tạo một người dùng Active Directory mới có lập trình thiết lập thuộc tính sAMAccountName với một giá trị lớn hơn 20 ký tự.Lỗi khi tạo người dùng có hơn 20 ký tự trong sAMAccountName sử dụng .NET
Khi tôi gọi là DirectoryEntry.CommitChanges(), tôi nhận được lỗi:
00000523: SysErr: DSID-031A0FB6, problem 22 (Invalid argument), data 0
Nếu tôi cố gắng tạo một người dùng mới thiết lập sAMAccountName nhỏ hơn 20 ký tự tất cả mọi thứ làm việc.
Trước khi ai đó nói giới hạn của sAMAccountName là 20 ký tự, tôi muốn chỉ ra rằng nếu tôi cố gắng tạo cùng một người dùng có sAMAccountName hơn 20 ký tự bằng cách sử dụng công cụ Windows "Active Directory Users and Computers" công trinh. Tôi có thể thấy mục mới trong AD bằng cách sử dụng công cụ LDP và mục nhập có sAMAccountName với hơn 20 ký tự.
Tại sao tôi không thể tạo người dùng theo chương trình bằng .NET?
Dưới đây là đoạn code Tôi đang sử dụng:
Using objDirEnt As DirectoryEntry = New DirectoryEntry("LDAP://my.domain.com/cn=Users,dc=my,dc=domain,dc=com", "username", "Password", AuthenticationTypes.Secure Or AuthenticationTypes.Sealing)
Using usuario As DirectoryEntry = objDirEnt.Children.Add("CN=aaaaaa bbbbbbbbbb ccccccccc (aaaaaa.bbbbbb.ccccccccc)", "user")
usuario.Properties("sAMAccountName").Value = "aaaaaa.bbbbbb.ccccccccc"
usuario.Properties("userAccountControl").Value = AdsUserFlags.PasswordNotRequired
usuario.Properties("name").Value = "aaaaaa bbbbbbbbbb ccccccccc"
usuario.Properties("givenName").Value = "aaaaaa"
usuario.Properties("sn").Value = "bbbbbbbbbb ccccccccc"
usuario.CommitChanges()
End Using
End Using
sAMAccountName là <= 20 ký tự; userPrincipalName dường như có giới hạn cao hơn nhiều, nhưng yêu cầu 'user @ domain.local' – Nate
Nếu giới hạn là 20 char, tại sao tôi có thể tạo người dùng bằng công cụ Active Directory Users and Computers? –
Có thể sử dụng UserPrincipalName ... – Nate