我正在使用“activedirectory”软件包从Active Directory获取用户信息,但我还需要获取更多用户管理器信息......
我使用的代码是:
var ActiveDirectory = require('activedirectory');
var ad = new ActiveDirectory('ldap://mydomain.com', 'dc=mydomain, dc=com', 'dragon@mydomain.com', 'dragon');
var query = 'cn=JohnS';
ad.findUsers(query, true, 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));
}
});
我得到的回报是:
[
{
"dn": "CN=JohnS,OU=NorthWall,DC=mydomain,DC=com",
"userPrincipalName": "JohnS@mydomain.com",
"sAMAccountName": "JohnS",
"whenCreated": "20160315093421.0Z",
"pwdLastSet": "131123123123467132",
"userAccountControl": "66048",
"givenName": "JohnS",
"cn": "JohnS",
"displayName": "busterd",
"groups": []
}
]
我也想获得特定的用户信息管理员。
提前致谢, 最大
答案 0 :(得分:0)
默认情况下,输出中的 manager 属性is not included,您需要创建ActiveDirectory实例
var ad = new ActiveDirectory(...,
attributes: {
user: [ 'dn', 'userPrinicipalName', ..., 'manager' ]
});
注意:如果覆盖'user'或'group'属性,则必须指定所需的所有属性,即如果要保留当前返回的所有属性,请将它们包含在user: [ ]
中。< / p>
manager属性通常具有引用另一个用户的DN值,并且取决于您的要求,您可能需要解析它(例如从中提取sAMAccountName)或调用findUser()方法获取全名和经理的其他属性。