Quiero extraer ciertos atributos (como correo electrónico, teléfono, etc.) de los usuarios de un directorio activo que usan Node JS. De acuerdo con esta documentación , pude extraer los atributos de un determinado usuario usando este código:
var ActiveDirectory = require('activedirectory'); var ad = new ActiveDirectory({ url: 'ldap://domain.com', baseDN: 'dc=domain,dc=com', username: 'user@domain.com', password: 'password', attributes: { user: [ 'givenName', 'mail', 'mobile' ], // group: [ 'anotherCustomAttribute', 'objectCategory' ] } }); var sAMAccountName = 'desiredUsername'; ad.findUser(sAMAccountName, function(err, user) { if (err) { console.log('ERROR: ' +JSON.stringify(err)); return; } if (! user) console.log('User: ' + sAMAccountName + ' not found.'); else console.log(JSON.stringify(user)); });Ahora quiero saber cómo puedo extraer los atributos deseados de todos los usuarios del directorio activo, considerando el hecho de que algunos usuarios no tienen un nombre de grupo.
¿Es posible extraer todos los sAMAccountName existentes en el directorio activo y extraer los atributos de cada usuario de esta manera?
Use findUsers en lugar de findUser .
No incluya un filtro y utilizará el filtro predeterminado para encontrar a todos los usuarios:
ad.findUsers(function(err, users) { if (err) { console.log('ERROR: ' +JSON.stringify(err)); return; } if ((! users) || (users.length == 0)) console.log('No users found.'); else { console.log('findUsers: '+JSON.stringify(users)); } });