首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Active Directory的LDAP搜索筛选器

Active Directory的LDAP搜索筛选器
EN

Server Fault用户
提问于 2010-05-20 09:30:42
回答 4查看 34.8K关注 0票数 5

我试图通过LDAP查询在中查找用户。基本上,我是这样搜索用户的:

代码语言:javascript
复制
Search DN: dc=mydomain, dc=com
Filter: (sAMAccountName=USER)  where USER is replaced with the provided username.

现在,如果用户只是没有域的用户名(用于ex )。“乔”)这个很好。然而,我收到它们的形式(域名\用户名,为ex。“myDomain\Joe”,显然搜索失败了。

我看到了两种方式:

  • 在搜索筛选器中使用regex丢弃域。
  • 使用完全不同的搜索筛选器

我不是LDAP专家,我甚至不知道是否可以在搜索过滤器中使用正则表达式。

有没有人知道这是可能的,怎么做的?

我不能预先处理用户名来删除域名。这是不能改变的,因为它都是一个大系统的一部分。

EN

回答 4

Server Fault用户

发布于 2010-05-20 12:27:29

不可能使用不同的过滤器。用户帐户没有带有域名的属性,因此不能使用域作为参数来构造查询。

在服务中,只包含来自域的信息,DC是该域的控制器。如果您与森林中的其他domianst有信任关系,为了从不同的域获取有关用户的信息,您应该从该域与LDAP服务联系。

正确的解决方案:从搜索过滤器中丢弃域名。属性sAMAccountName在域上是唯一的。

票数 3
EN

Server Fault用户

发布于 2010-05-20 20:09:12

如果您在*nix框中,请使用openldap实用程序,搜索非常简单。示例

代码语言:javascript
复制
ldapsearch -h servername -b "dc=domain,dc=com" -D bindid@domain.com -W -x sAMAccountName=username

userPrincipalName: username@domain.com

我不确定你是否可以在过滤器内使用regex。编写一个将输出转储到文件并实现regex的脚本。

票数 3
EN

Server Fault用户

发布于 2010-05-20 20:17:45

LDAP支持通配符,但我不知道regex (可能有一些特定的实现)

您可以使用以下筛选器:

代码语言:javascript
复制
(|(sAMAccountName=USER)(sAMAccountName=*\USER))

它将匹配用户名或某些字符、反斜杠和用户名。

取决于您使用的工具将如何或是否需要避免反斜杠。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/143685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档