我正在尝试为Active Directory提取objectClass的所有属性,但没有按我的意愿返回。如果您能帮助我的话...
这是我的代码:
var username = 'username';
var password = 'password';
var ldap = require('ldapjs');
var listAttributes = new Array();
var client = ldap.createClient({
url: 'ldap://example.com/'+username
});
var opts = {
filter: '(&(objectclass=*))',
scope: 'sub'
};
console.log('--- going to try to connect user ---');
try {
client.bind(username, password, function (error) {
if(error){
console.log(error.message);
client.unbind(function(error) {if(error){console.log(error.message);} else{console.log('client disconnected');}});
} else {
console.log('connected');
client.search('dc=ciscoad,dc=lab', opts, function(error, search) {
console.log('Searching.....');
search.on('searchEntry', function(entry) {
if(entry.object){
for(i in entry.object) {
listAttributes.push(i);
}
console.log(listAttributes);
}
client.unbind(function(error) {if(error){console.log(error.message);} else{console.log('client disconnected');}});
});
search.on('error', function(error) {
console.error('error: ' + error.message);
client.unbind(function(error) {if(error){console.log(error.message);} else{console.log('client disconnected');}});
});
});
}
});
} catch(error){
console.log(error);
client.unbind(function(error) {if(error){console.log(error.message);} else{console.log('client disconnected');}});
}
这将返回一个用户但所有用户的一些属性!而且我只需要一次所有用户的所有属性。 您是否想一次列出所有属性?