Как запросить удаленные объекты 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,

Другие вопросы по тегам