i’m using this strategy for update a password on ldap server.The function update (the line ldap.update(ldapUserUpdate)) doesn’t work. Could someone help me with an updated method or a workaround function, please? Thanks.
var gr = new GlideRecord('ldap_server_config');
var ldap_id = '1ae0a9d020b9a5100eed0c8b78e8cdd7';
gr.get(ldap_id);
var ldap = new GlideLDAP();
ldap.setConfigID(ldap_id);
var env = ldap.setup();
if (env == null) {
gs.addErrorMessage("Environment not set, missing server URL");
}
var ldapConnectionTester = new GlideLDAPTestConnectionProcessor(ldap_id, null);
try {
var connessione = ldapConnectionTester.testConnection();
gs.print('connessione instaurata: ' + connessione);
var query = '(sAMAccountName=testuser1)';
var result= ldap.getMatching('', query, true, 1);
if(!JSUtil.nil(result)){
while(test = result.next()){
var strResult = test.toString();
var mail = strResult.split('mail=')[1];
mail = mail.split(',')[0];
var dn = strResult.split('dn=')[1];
dn = dn.split(',')[0];
gs.print(mail);
gs.print(dn);
var ldapUserUpdate = new GlideLDAPUserUpdate();
ldapUserUpdate.setDN(dn);
ldapUserUpdate.setAttribute('password', 'newpassword'); // Imposta il nuovo cognome dell'utente
ldap.update(ldapUserUpdate);
}
}
}catch(e) {
gs.addErrorMessage(e.getMessage());
}