Active directory 如何查询自给定时间以来已删除的LDAP(Active Directory)对象?

Active directory 如何查询自给定时间以来已删除的LDAP(Active Directory)对象?,active-directory,ldap,incremental-search,Active Directory,Ldap,Incremental Search,我需要使用LDAP查询Active Directory林中的增量更改 简单的部分是查询对象的增量更新,以及创建新对象。为此,您可以在更改时使用属性 例如: (&(objectClass=user)(whenChanged>=20180501000000.0Z)) 到目前为止,一切顺利 但查询已删除的记录又如何呢。是否有某种方法可以查询LDAP中自给定时间以来删除的所有项目 我知道Active Directory会将对象标记为删除(实际上不会删除内容)。我知道有一些方法可以获取删除

我需要使用LDAP查询Active Directory林中的增量更改

简单的部分是查询对象的增量更新,以及创建新对象。为此,您可以在更改时使用
属性

例如:

(&(objectClass=user)(whenChanged>=20180501000000.0Z))
到目前为止,一切顺利

但查询已删除的记录又如何呢。是否有某种方法可以查询LDAP中自给定时间以来删除的所有项目

我知道Active Directory会将对象标记为删除(实际上不会删除内容)。我知道有一些方法可以获取删除的对象:()

但是,我没有太多的运气创建一个LDAP查询,在一个非常普通的active directory服务器上,可以得到一个已删除帐户的列表

相关的:

我也尝试过这个建议:

(&(isDeleted=TRUE)(userAccountControl:1.2.840.113556.1.4.803:=512))
还是没什么


我怎样才能做到这一点

您使用什么编程语言进行查询?它似乎是一个(特别是
LDAP\u SERVER\u SHOW\u DELETED\u OID
)需要作为搜索属性的一部分启用,而不是在LDAP查询字符串本身中启用。因此,这取决于搜索方式的实现

例如,在.NET中,
DirectorySearcher
类有一个将启用此功能的


或者PowerShell的命令有
-IncludeDeletedObjects

我正在使用Java。还有apache目录工作室。在java中,这等同于您指定的“搜索控件”。因此,我需要为
LDAP\u SERVER\u SHOW\u DELETED\u OID=“1.2.840.113556.1.4.417”添加搜索控件很高兴你找到了它!我试图找到它,但我从未将Java与AD一起使用过。