Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何通过“查找节点广告中的用户”;dn"';那块呢?_Node.js_Active Directory - Fatal编程技术网

Node.js 如何通过“查找节点广告中的用户”;dn"';那块呢?

Node.js 如何通过“查找节点广告中的用户”;dn"';那块呢?,node.js,active-directory,Node.js,Active Directory,我想搜索整个用户,并通过他们的名字模式获取他们。我的对象结构是: {"dn": "CN=Manager,OU=PH,OU=xxx HQ xxx,DC=xxx,DC=xxx", "userPrincipalName": "user1@domain.com", "sAMAccountName": "User1", "whenCreated": "20190517064007.0Z", "pwdLastSet": "0", "userAccountControl": "512", "sn": "Use

我想搜索整个用户,并通过他们的名字模式获取他们。我的对象结构是:

{"dn": "CN=Manager,OU=PH,OU=xxx HQ xxx,DC=xxx,DC=xxx",
"userPrincipalName": "user1@domain.com",
"sAMAccountName": "User1",
"whenCreated": "20190517064007.0Z",
"pwdLastSet": "0",
"userAccountControl": "512",
"sn": "User1",
"givenName": "User1",
"cn": "User1",
"displayName": "User nickname",
"groups": []}
我使用这个软件包-。
功能:findUsers。
预期结果:找到所有具有

“CN=经理”

在他们的“dn”中

我已经尝试过其中一些查询:

 dn=*CN=${managerName}*`
{dn:{filter:'*CN=${managerName}*'}}
{filter:'*CN=${managerName}*'}
{filter:{dn: '*CN=${managerName}*'}}

每次ldap返回空数组或指示查询中的错误时

请注意,
dn
实际上不是Active Directory中的属性。我想你要的是
distributedname

但不能在接受
区分名称的任何属性中使用通配符。这包括
区分名称
成员
管理者
,以及其他几个

看起来您只是想按帐户名搜索。您可以通过
cn
属性进行搜索,如下所示:

(&(objectClass=user)(cn=*Manager*))
(anr=Michał Bednarz)
这将找到名称中包含
Manager
的任何用户帐户。小心点。如果在开始时使用通配符,它将无法使用索引进行搜索。所以在我刚才给你的查询中,它必须搜索每个用户帐户才能找到匹配项。所以你能给出的标准越多越好

Active Directory还有一种称为的特殊搜索,专门用于在不知道全名的情况下查找用户。它会在多个属性中查找搜索词,如名字、姓氏和其他属性。例如,您可以进行如下搜索:

(&(objectClass=user)(cn=*Manager*))
(anr=Michał Bednarz)
而且它会找到你,即使你帐户上的显示名是米夏·贝德纳兹(Bednarz,Michał)


您还可以在此处阅读有关LDAP查询格式的内容:

请注意,
dn
实际上不是Active Directory中的属性。我想你要的是
distributedname

但不能在接受
区分名称的任何属性中使用通配符。这包括
区分名称
成员
管理者
,以及其他几个

看起来您只是想按帐户名搜索。您可以通过
cn
属性进行搜索,如下所示:

(&(objectClass=user)(cn=*Manager*))
(anr=Michał Bednarz)
这将找到名称中包含
Manager
的任何用户帐户。小心点。如果在开始时使用通配符,它将无法使用索引进行搜索。所以在我刚才给你的查询中,它必须搜索每个用户帐户才能找到匹配项。所以你能给出的标准越多越好

Active Directory还有一种称为的特殊搜索,专门用于在不知道全名的情况下查找用户。它会在多个属性中查找搜索词,如名字、姓氏和其他属性。例如,您可以进行如下搜索:

(&(objectClass=user)(cn=*Manager*))
(anr=Michał Bednarz)
而且它会找到你,即使你帐户上的显示名是米夏·贝德纳兹(Bednarz,Michał)

您还可以在此处阅读有关LDAP查询格式的内容: