How do I change a user's password via LDAP integration with active directory?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-24-2023 08:54 AM - edited 03-27-2023 01:38 AM
Hi,
searching via GlideLDAP works fine.
Now I would like to reset the password for this user, how can I do it?
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());
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2023 03:02 AM
Hi @oscar morelli ,
make sure you replaced "myldapserver" with the name of your LDAP server as defined in your instance. Also, replace "testuser1" and "newpassword" with the username and new password you want to set, respectively.
Thanks,
Ratnakar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2023 05:36 AM
Hi @Ratnakar7,
i'm sure, I entered some print to verify.
var userName = 'testuser1';
var newPassword = 'TestPassword.1';
var ldap = new GlideLDAP();
var ldapConfig = new GlideRecord('ldap_server_config');
ldapConfig.addQuery('name', 'Active Directory OCR'); // replace with your LDAP server name
ldapConfig.query();
if (ldapConfig.next()) {
gs.print('name: ' + ldapConfig.name);
ldap.setConfigID(ldapConfig.sys_id);
var user = ldap.getUser(userName);
gs.print('user: ' + user);
user.setAttribute('unicodePwd', newPassword);
ldap.update(user);
}
*** Script: name: Active Directory OCR
*** Script: user: undefined