Как запросить удаленные объекты LDAP (Active Directory) с заданного времени?
Мне нужно запросить дополнительные изменения из леса Active Directory с использованием LDAP.
Самая простая задача - запросить инкрементные обновления объектов и создание новых объектов. Для этого вы можете использовать whenChanged
имущество
Пример:
(&(objectClass=user)(whenChanged>=20180501000000.0Z))
Все идет нормально.
Но как насчет запросов на удаленные записи? Есть ли способ запросить LDAP для всех элементов, удаленных с данного времени?
Я знаю о том, что Active Directory помечает объекты для удаления (на самом деле ничего не удаляет). И я знаю, что есть какой-то способ получить удаленные объекты: ( см. Этот пост msdn)
Но у меня не было особой удачи при создании запроса LDAP, который, на очень ванильном сервере активных каталогов, мог бы получить список удаленных учетных записей.
Связанный: LDAP-запрос для удаленных пользователей
Я тоже попробовал это предложение:
(&(isDeleted=TRUE)(userAccountControl:1.2.840.113556.1.4.803:=512))
Еще ничего.
Как я могу сделать эту работу?
1 ответ
Какой язык программирования вы используете, чтобы сделать запрос? Кажется, это LDAP Extended Control (особенно LDAP_SERVER_SHOW_DELETED_OID
), который должен быть включен как часть свойств поиска, а не в самой строке запроса LDAP. Так что это зависит от реализации того, как вы ищете.
Например, в.NET, DirectorySearcher
класс имеет Tombstone
свойство, которое позволит это.
Или PowerShell's Get-ADObject
команда имеет -IncludeDeletedObjects
,