我需要使用 LDAP 从 Active Directory 林查询增量更改。
简单的部分是查询对象的增量更新和创建新对象。为此,您可以使用whenChanged
属性
例:
(&(objectClass=user)(whenChanged>=20180501000000.0Z))
目前为止,一切都好。
但是,查询已删除的记录呢?有没有办法查询LDAP自给定时间以来删除的所有项目?
我确实知道Active Directory标记要删除的对象(实际上并没有删除内容(的事实。我知道有一些方法可以删除对象:(请参阅此msdn帖子(
但是我没有太多运气创建一个LDAP查询,针对一个非常普通的活动目录服务器,可以获取已删除帐户的列表。
相关:已删除用户的 LDAP 查询
我也尝试了这个建议:
(&(isDeleted=TRUE)(userAccountControl:1.2.840.113556.1.4.803:=512))
还是没有。
我怎样才能做到这一点?
您使用什么编程语言进行查询?它似乎是一个 LDAP 扩展控制(特别是LDAP_SERVER_SHOW_DELETED_OID
(,需要作为搜索属性的一部分启用,而不是在 LDAP 查询字符串本身中启用。因此,这取决于您搜索方式的实现方式。
例如,在 .NET 中,DirectorySearcher
类具有一个将启用此功能的Tombstone
属性。
或者PowerShell的Get-ADObject
命令有-IncludeDeletedObjects
。