0

我有一个用于创建新 AD 用户及其独特属性的工作代码。我唯一不能上班的是:

AD-Management 窗口(标题)中的用户条目与 CN 相同。但我需要该条目与 DisplayName 属性相同。

在手动更改用户条目的名称后,我发现属性“名称”也发生了变化。(见截图) 截图1

所以我也尝试在我的代码中使用属性“名称”。但是当我在第一个 CommitChanges() (有效地创建实体)期间使用该属性时,它并没有设置为我想要的值。相反,它与用户的登录名 (SAMAccountName) 保持相同。

如果我在后面的 CommitChanges() 期间尝试设置属性的值,则会引发以下异常

“00002016:SvcErr:DSID-031A12D2,问题 5003 (WILL_NOT_PERFORM),数据 0”和 vbLf

您有什么想法可以更改 AD 对象的属性“名称”吗?

(顺便说一句:我的代码包含一些德语单词。Vorname = Given Name / Nachname = Surname 等,以防您想知道)

        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")
4

0 回答 0