提取所有活动目录用户的属性

发布于 2025-01-17 01:53:18 字数 1327 浏览 0 评论 0原文

我想使用 Node JS 提取活动目录用户的某些属性(例如电子邮件、电话等)。根据此 文档,我能够使用此提取某个用户的属性一段代码:

var ActiveDirectory = require('activedirectory');

    var ad = new ActiveDirectory({ url: 'ldap://domain.com',
                               baseDN: 'dc=domain,dc=com',
                               username: '[email protected]',
                               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));
    });

现在我想知道如何提取所有活动目录用户所需的属性,考虑到某些用户没有组名。

是否可以提取活动目录中所有现有的 sAMAccountName 并以这种方式提取每个用户的属性?

I want to extract certain attributes (such as email, phone, etc.) of an active directory users using Node JS. According to this documentation, I was able to extract the attributes of a certain user using this piece of code:

var ActiveDirectory = require('activedirectory');

    var ad = new ActiveDirectory({ url: 'ldap://domain.com',
                               baseDN: 'dc=domain,dc=com',
                               username: '[email protected]',
                               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));
    });

Now I want to know how I can extract the desired attributes of all active directory users, considering the fact that some users don't have a groupName.

Is it possible to extract all existing sAMAccountName in the active directory and extract the attributes of each user this way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枫以 2025-01-24 01:53:18

使用 findUsers 而不是 findUser.

不包含过滤器,它将使用查找所有用户的默认过滤器:

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));
  }
});

Use findUsers instead of findUser.

Don't include a filter, and it'll use the default filter of finding all users:

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));
  }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文