Como resolver a resposta do MS AD "WILL_NOT_PERFORM" ao tentar alterar a senha no scala com o SDK LDAP ilimitado?

Estou lutando com o Active Directory, tentando obtê-lo para me permitir alterar uma senha. Encontrei toneladas de informações úteis, mas ainda estou recebendo um erro persistente.

Alguns códigos:

import com.unboundid.ldap.sdk._
import com.unboundid.util.ssl._


def main(args: Array[String]) : Unit = {

var sslUtil = new SSLUtil( new TrustAllTrustManager() )
var con = new LDAPConnection(sslUtil.createSSLSocketFactory())
con.connect("ldap.example.net", 636)
con.bind("ldapadmin", "adminpasswd")
val newPass = "Jfi8ZH8#k".getBytes("UTF-16LE");
val modRequest = new ModifyRequest("dn: cn=Tester Dude,ou=Lab,ou=Org,ou=Provider,DC=example,DC=net",
  "changetype: modify",
  "replace: unicodePwd",
  "unicodePwd: " + '"' + newPass + '"')

println("\nGoing to try to set password to " + newPass + " with: " + modRequest.toString())

try {
  con.modify(modRequest)
} catch {
  case lde:LDAPException => println("failed LDAPException: " + lde.toString())
}

}

Então, eu recebo isso como um erro de tempo de execução:

Tentando definir a senha como [B @ 6dd1627e com: ModifyRequest (dn = 'cn = Cara do Testador, ou = Laboratório, ou = Org, ou = Provedor, DC = exemplo, DC = net', mods = {REPLACE unicodePwd })

failed LDAPException: LDAPException (resultCode = 53 (não está disposto a executar), errorMessage = '0000001F: SvcErr: DSID-031A11E5, problema 5003 (WILL_NOT_PERFORM), dados 0', diagnosticMessage = '0000001F: SvcErr: DSID-031A11E5 WILL_NOT_PERFORM), dados 0 ')

Então, entre as coisas que eu sei, podem causar este erro:

Não conectar via SSL. (Não é o caso aqui, e verifiquei ter 100% de certeza de que estou na porta 636 usando o netstat) Passar uma senha que viola a política de senha do Active Directory. (Testei a configuração manual da senha exata; ela rejeitará senhas curtas / simples, mas aceitará a que estou usando neste código)

Eu tentei com e sem aspas extras ao redor da senh

A fonte de informação mais útil, portanto, foi:

http: //www.dirmgr.com/blog/2010/8/26/ldap-password-changes-in-active-directory.htm

Mas já esgotei todas as sugestões de lá (e muitos outros lugares

Eu também tentei várias outras coisas, incluindo definir a senha para um usuário válido diferente que foi adicionado manualmente. (Este também foi adicionado via sdk.)

Outras operações estão funcionando bem. Eu removi o código irrelevante, mas consegui pesquisar, imprimir atributos, adicionar e excluir um usuário sem problemas; mas esta solicitação de modificação falha. Se eu definir o ModifyRequest para alterar algum outro atributo, como o email associado, isso também funcionará be

questionAnswers(3)

yourAnswerToTheQuestion