Фильтр LDAP: получение обновлений только пользователей с указанной даты - PullRequest
0 голосов
/ 25 апреля 2018

У меня проблемы с настройкой фильтра Active Directory для синхронизации базы данных MySQL, содержащей всех моих пользователей.И я не могу создать фильтр, который только извлекает пользователей с датой обновления, превышающей заданную дату.

Я попытался использовать атрибут uSNChanged в моем фильтре, но он возвращает мне 0 результатов.

Любые предложения приветствуются благодаря всем

1 Ответ

0 голосов
/ 25 апреля 2018

Вы будете искать по атрибуту whenChanged.Примерно так:

(&(whenChanged>=20180425150000.0-0400)(objectClass=user)(objectCategory=person))

Формат довольно прост:

{year}{month}{date}{hour}{minute}{seconds}.{milliseconds}-{timezone}

Например, в моем примере выше я использовал сегодняшнюю дату в 15:00 по восточному.

Необходимо помнить несколько предостережений:

  1. Атрибут whenChanged не совсем одинаков на каждом контроллере домена, но они будут близки (в течение получаса).Причина в репликации - время устанавливается равным времени, в которое каждый DC получил изменение.
  2. Когда пользователь входит в систему, время lastLogon обновляется, и атрибут whenChanged запускается, чтобыобновлено.То, что whenChanged меняется, не означает, что кто-то изменил аккаунт.Это также означает, что этот поиск вернет больше аккаунтов, чем вы могли ожидать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...