我正在尝试完成此任务:使用Go程序和gopkg.in/ldap.v2
软件包在ActiveDirectory中更改自己的密码。
不幸的是,我的“修改”请求以错误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
我想念什么?