我需要使用LDAP查询Active Directory林的增量更改。
简单的部分是查询对象的增量更新以及创建新对象。为此,您可以使用whenChanged
属性
示例:
(&(objectClass=user)(whenChanged>=20180501000000.0Z))
到目前为止,这么好。
但是查询已删除的记录呢。有没有办法在LDAP中查询自给定时间以来删除的所有项目?
我确实知道Active Directory标记要删除的对象(实际上并没有删除东西)。我知道有一些方法可以删除对象:(See this msdn post)
但我还没有多少运气创建一个LDAP查询,对于一个非常普通的活动目录服务器,可以获得已删除帐户的列表。
相关:LDAP query for deleted users
我也试过了这个建议:
(&(isDeleted=TRUE)(userAccountControl:1.2.840.113556.1.4.803:=512))
仍然没什么。
我该如何使这项工作?
答案 0 :(得分:1)
您使用什么编程语言进行查询?它似乎是LDAP Extended Control(具体为LDAP_SERVER_SHOW_DELETED_OID
),需要作为搜索属性的一部分启用,而不是在LDAP查询字符串本身中启用。所以这取决于你如何搜索的实现。
例如,在.NET中,DirectorySearcher
类有一个Tombstone
property来启用此功能。
或PowerShell的Get-ADObject
命令有-IncludeDeletedObjects
。