使用LDAP和Go更改我在ActiveDirectory中的密码

时间:2018-09-21 13:01:05

标签: go active-directory ldap

我正在尝试完成此任务:使用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

我想念什么?

0 个答案:

没有答案