我有一个工作代码,用于创建新的AD用户及其不同的属性。我唯一能做的就是:
AD管理窗口(标题)中的用户条目与CN相同。但我需要输入与DisplayName属性相同。
手动更改用户条目的名称后,我发现属性名称'改变了。 (见截图) Screenshot-1
所以我尝试使用属性' name'在我的代码中也是如此。 但是当我在第一个CommitChanges()期间使用该属性(有效地创建权利)时,它并没有设置为我想要的值。相反,它与用户的登录名(SAMAccountName)保持一致。
如果我在稍后的CommitChanges()期间尝试设置属性的值,则会抛出以下异常
" 00002016:SvcErr:DSID-031A12D2,问题5003(WILL_NOT_PERFORM), 数据0" &安培; vbLf
你有什么想法我可以做些什么来改变属性' name'一个AD对象?
(顺便说一句:我的代码中包含一些德语单词.Vorname =给定姓名/ Nachname =姓氏等,以防您想知道)
Dim o As DirectoryEntry
Dim c As DirectoryEntries
Dim OUPath = ("LDAP://OU=" & OU & ",OU=Benutzer,DC=int,DC=xxxx,DC=xx")
o = New DirectoryEntry(OUPath, "xxxx", "xxxx", System.DirectoryServices.AuthenticationTypes.Secure)
c = o.Children()
o = c.Add("CN=" & UsernameV, "user")
o.Properties("SAMAccountName").Value = UsernameV
o.Properties("sn").Add(NachnameV)
o.Properties("givenName").Add(VornameV)
o.Properties("displayName").Add("" & NachnameV & ", " & VornameV & "")
o.Properties("name").Add("" & NachnameV & ", " & VornameV & "")
o.Properties("userPrincipalName").Add(UsernameV & "@xxxx")
o.CommitChanges()
o.Invoke("setPassword", New Object() {PWV})
o.CommitChanges()
'newUser.Properties("userAccountControl").Add(512)
'newUser.CommitChanges()
o.Properties("description").Add(UsernameV)
o.Properties("scriptPath").Add("logon.bat")
o.Properties("homeDrive").Add("H:")
o.Properties("homeDirectory").Add("\\datsrv-01\homes\" & UsernameV & "$")
o.Properties("company").Add(ComboBox_so.SelectedItem.ToString)
o.Properties("department").Add(ComboBox_abt.SelectedItem.ToString)
o.Properties("telephoneNumber").Add(TelV)
o.Properties("userAccountControl").Value = 65536
o.CommitChanges()
o.NativeObject.AccountDisabled = False
o.CommitChanges()
MsgBox("Erstellen erfolgreich")