Измените свой пароль в ActiveDirectory с помощью LDAP и Go - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь выполнить эту задачу: изменить свой собственный пароль в ActiveDirectory с помощью программы Go и пакета gopkg.in/ldap.v2.

К сожалению, мой запрос на изменение заканчивается ошибкой 65 со следующим описанием:

"0000207D: UpdErr: DSID-031517D5, проблема 6002 (OBJ_CLASS_VIOLATION), данные 589914"

Код следующий:

var l *ldap.Conn
var err error

l, err = ldap.Dial(`tcp`, fmt.Sprintf(`%s:%d`, domain, 389))
if err != nil {
    return false, err
}
defer l.Close()

err = l.Bind(logonUserName, currentPassword)
if err != nil {
    return false, err
}    

utf16 := unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)

encoded, err := utf16.NewEncoder().String(`"`+newPassword+`"`)

baseDN := "DC=contoso,DC=com"

modifyReq := ldap.NewModifyRequest(baseDN)
modifyReq.Replace("unicodePwd", []string{encoded})
err = l.Modify(modifyReq)
if err != nil {
    return false, err
}

Я нашел некоторую информацию в этой теме: https://stackoverflow.com/a/37355844/1268795

Чего мне не хватает?

...