LDAP 查询基本知识

摘要:
本文介绍了LDAP查询的基本信息。使用Active Directory用户和计算机搜索使用LDP搜索使用LDIFDE查询ADModify中使用LDAP的更多信息基本LDAP语法=(等于)此LDAP参数表示满足属性等于值的条件。
LDAP 查询基本知识

本文讨论了轻量级目录访问协议 (LDAP) 查询,它在排查 Microsoft Exchange Server 及它与其目录之间关系的故障时十分有用,但是它也经常令人困惑不解。本文介绍了有关 LDAP 查询的基本信息。

基本 LDAP 语法

何时使用 LDAP 查询?

使用“Active Directory 用户和计算机”执行搜索

使用 LDP 执行搜索

使用 LDIFDE 执行搜索

在 ADModify 中使用 LDAP 查询

更多信息

基本 LDAP 语法

=(等于)

此 LDAP 参数表明某个属性等于某个值的条件得到满足。例如,如果希望查找“名“属性为“John”的所有对象,可以使用:

(givenName=John)

这会返回“名”属性为“John”的所有对象。圆括号是必需的,以便强调 LDAP 语句的开始和结束。

&(逻辑与)

如果具有多个条件并且希望全部条件都得到满足,则可使用此语法。例如,如果希望查找居住在 Dallas 并且“名”为“John”的所有人员,可以使用:

(&(givenName=John)(l=Dallas))

请注意,每个参数都被属于其自己的圆括号括起来。整个 LDAP 语句必须包括在一对主圆括号中。操作符 & 表明,只有每个参数都为真,才会将此筛选条件应用到要查询的对象。

!(逻辑非)

此操作符用来排除具有特定属性的对象。假定您需要查找“名”为“John”的对象以外的所有对象。则应使用如下语句:

(!givenName=John)

此语句将查找“名”不为“John”的所有对象。请注意:! 操作符紧邻参数的前面,并且位于参数的圆括号内。由于本语句只有一个参数,因此使用圆括号将其括起以示说明。

*(通配符)

可使用通配符表示值可以等于任何值。使用它的情况可能是:您希望查找具有职务头衔的所有对象。为此,可以使用:

(title=*)

这会返回“title”属性包含内容的所有对象。另一个例子是:您知道某个对象的“名”属性的开头两个字母是“Jo”。那么,可以使用如下语法进行查找:

(givenName=Jo*)

这会返回“名”以“Jo”开头的所有对象。

以下是 LDAP 语法的高级使用示例:

您需要一个筛选条件,用来查找居住在 Dallas 或 Austin,并且名为“John”的所有对象。使用的语法应当是:

(&(givenName=John)(|(l=Dallas)(l=Austin)))

您发现应用程序日志中有 9,548 个事件,因此需要查找导致这些日志事件的所有对象。在此情况下,您需要查找所有被禁用的用户 (msExchUserAccountControl=2),这些用户的 msExchMasterAccountSID 没有值。使用的语法应当是:

(&(msExchUserAccountControl=2)(!msExchMasterAccountSID=*))

LDAP 查询基本知识第1张  注意:

! 操作符与通配符的结合使用可查找属性未设置为任何值的对象。

何时使用 LDAP 查询?

在使用 Exchange Server 时,您遇到了使用 LDAP 字符串的情况。例如,当您设置收件人或邮箱管理策略或地址列表过滤器时,或者,当您搜索 Active Directory 目录服务时,Exchange Server 都会使用 LDAP。在下面的部分中,我们将介绍一些 LDAP 语句的使用方式。

使用“Active Directory 用户和计算机”进行搜索

下例描述了如何“Active Directory 用户和计算机”执行搜索:

1.

打开“Active Directory用户和计算机”。

2.

右击域对象并选择查找

LDAP 查询基本知识第3张

3.

单击查找旁边的下拉列表,然后选择自定义搜索

4.

从下一屏幕中,选择高级选项卡。

5.

输入 LDAP 查询下,输入相应的 LDAP 语句。

LDAP 查询基本知识第4张

本示例尝试查找职务为 prez 或姓名以 test 开头的所有对象。如果您单击立即查找,应该能够看到相应的输出,如以下屏幕截图所示。

LDAP 查询基本知识第5张

使用 LDP 进行搜索

您还可以使用 LDP 执行搜索,该工具已包括在 Microsoft Windows Server 2003 和 Windows 2000 Server 支持工具之中。该工具不仅为您赋予了搜索域容器的能力,而且允许您搜索配置容器。首先,您应打开 LDP 并连接到有效的域控制器。然后,您需要使用相应凭证进行绑定。请选择视图,然后选择树视图。保留基位置 DN 字段为空,然后单击确定。导航到要搜索的容器,右击该容器,然后选择搜索

LDAP 查询基本知识第6张

将出现一个对话框,其中的基位置 DN 字段包含了正确的值。输入进行筛选所依据的 LDAP 语句,将出现类似如下的内容。

LDAP 查询基本知识第7张

如果希望搜索当前级别以下的所有容器,请确信选择了子树单选按钮。单击运行,然后开始查找所有匹配项。

LDAP 查询基本知识第8张

使用 LDIFDE 执行搜索

您可能经常需要搜索一组满足特定条件的对象并且希望建立这些用户的列表。LDIFDE 是一个可以用来建立此列表的命令行工具。假定您希望查找并保存 mailNickName 以 Jeff 开头的所有用户的列表。那么,您可能会运行如下命令。

C:\>ldifde -d "DC=witaylorroot,DC=com" -f c:\output.txt -r "(&(objectClass=user)(mailNickName=jeff*))

在本例中,您将查找三个对象并将他们的所有属性导出到指定的 .txt 输出文件中。但是,如果您打算导出数千用户的查找结果,导出文件将过于庞大。为此,我们可以使用其他选项。您可以使用 ¨Cl(小写的 L)开关指定导出哪些属性。可分辨名称将总是被导出,但是如果希望仅导出该名称,可以在字符串中添加 ¨Clnothing,以简化输出结果。以下命令便是这样的一个例子。

C:\>ldifde -d "DC=witaylorroot,DC=com" -f c:\output.txt -l nothing -r "(&(objectClass=user)(mailNickName=jeff*))

请考虑这样一种情况,您希望使用先前引用的 LDIFDE 导出结果,但是只想在输出中包括 homeMDB 属性。为此,必须使用以下命令。

C:\>ldifde -d "DC=witaylorroot,DC=com" -f c:\output.txt -l "homeMDB" -r "(&(objectClass=user)(mailNickName=jeff*))

dn:CN=jeff,OU=55Users,DC=witaylorroot,DC=com changetype:add homeMDB:CN=Private Information Store (WITAYLORNT4EX55),CN=First Storage Group,CN=InformationStore,CN=WITAYLORNT4EX55,CN=Servers,CN=WITAYLORMIXEDSITE,CN=Administrative Groups,CN=WITAYLORORG,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=witaylorroot,DC=com

dn:CN=jeff2,CN=Users,DC=witaylorroot,DC=com changetype:add homeMDB:CN=Private Information Store (WITAYLORNT4EX55),CN=First Storage Group,CN=InformationStore,CN=WITAYLORNT4EX55,CN=Servers,CN=WITAYLORMIXEDSITE,CN=Administrative Groups,CN=WITAYLORORG,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=witaylorroot,DC=com

dn:CN=jeff3,CN=Users,DC=witaylorroot,DC=com changetype:add homeMDB:CN=Private Information Store (WITAYLORNT4EX55),CN=First Storage Group,CN=InformationStore,CN=WITAYLORNT4EX55,CN=Servers,CN=WITAYLORMIXEDSITE,CN=Administrative Groups,CN=WITAYLORORG,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=witaylorroot,DC=com

如果您正在进行导出,并且没有限制导出哪些属性,可能需要使用 ¨Cn 开关来排除正常情况下会包括在内的任何值。这有助于防止导出文件的体积变得过于庞大。

在 ADModify 中使用 LDAP 查询

若要获得 ADModify 工具,请联系微软产品支持服务。有关如何联系微软产品支持服务的更多信息,请参见微软支持和帮助网站

若要通过第三方网站获得 ADModify 工具,请访问以下 GotDotNet 网站:ADModify.NET:Workspace 主页.

ADModify 是微软产品支持服务部门的日常使用工具。对于大型 Active Directory 环境,将可能包含数千用户的整个组织单位 (OU) 添加到右侧列表的工作并对他们进行分析以找出所需更改的用户,这个过程可能并不那么轻松。因此,我们可以使用其他方法实现这个目的。在第一个屏幕上,选择修改现有用户属性并单击下一步。在修改 Active Directory 用户屏幕上,有一个高级按钮。

LDAP 查询基本知识第10张

如果单击高级按钮,将出现自定义 LDAP 筛选条件对话框。在该对话框中,可输入要使用的 LDAP 筛选条件。在本例中,您只想列出启用了邮件的组。筛选条件看起来如下所示。

LDAP 查询基本知识第11张

然后,单击确定。选择希望 ADModify 进行搜索的 OU 或域。如果您希望它搜索所选容器的下级容器,请确信选择了枚举用户时遍历子容器。单击添加到列表然后在接到需花费较长时间的警告时单击。满足所指定条件的对象现在将显示在右侧窗格中。

LDAP 查询基本知识第12张

在这里,可突出显示要修改的对象,然后继续向导的后续步骤。

更多信息

有关更多信息,请参见如下微软知识库文章:

255602, "XADM:使用 LDP 实用程序进行浏览和查询"

296112, "XADM:不能为收件人策略指定组织单位或帐户位置"

免责声明:文章转载自《LDAP 查询基本知识》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ubuntu 配置vim编辑器Java 关于中文乱码处理的经验总结【转载】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

zabbix配置ldap域账号登录

1.LDAP配置 LDAP host:ldap服务器地址,可以填写IP或者对应的域名 port:端口,默认是389 Base DN:基础dn,存放用户的dn位置。比如OU=users,DC=test,DC=com,表示zabbix将会在该位置下搜索用户来认证。 Search attribute:如果不知道其他的就填写“sAMAccountName”,其实也...

python3 ldap认证

python3 ldap认证 #! /usr/bin/python # -*- coding:utf-8 -*- # Author: panb import logging from ldap3 import Server, Connection, ALL logger = logging.getLogger("oauth") LDAP = {...

AD与LDAP区别

LDAP是轻量目录访问协议(LightweightDirectory Access Protocol)的缩写, LDAP标准实际上是在X.500标准基础上产生的一个简化版本 AD是ActiveDirectory的缩写,AD应该是LDAP的一个应用实例,而不应该是LDAP本身。比如:windows域控的用户、权限管理应该是微软公司使用LDAP存储了一些数据...

jenkins使用ldap权限管理

https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_liunx_52_ldap_for_jenkins.html ldap 原来有一套phpLDAPadmin的用户管理系统 创建一个ou,直接导入以下模板 dn: ou=jenkins_test,ou=App,dc=xx,dc=com objectclass:...

初识Fastjson漏洞(环境搭建及漏洞复现)

目前网上的资源整理不是针对入门玩家,都需要一定的java漏洞调试基础,本文从一个简单的FastJson 漏洞开始,搭建漏洞环境,分析漏洞成因,使用条件等。从入门者的角度看懂并复现漏洞触发,拥有属于自己的一套漏洞调试环境。 0x01 Fastjson简介 Fastjson 是Alibaba的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Ja...

【转】cloudera新增用户权限配置

转自 http://lookqlp.iteye.com/blog/2189119  。   配置起来较复杂,需要在有测试环境之后再进行配置测试。  之后是有上HUE的计划的,所以这个也是一定要做的。 目标: 给各个业务组提供不同用户及用户组,并有限制的访问hdfs路径,及hive数据库。 前提: cloudera cloudera manager kerb...