Я успешно настроил Google Apps Directory Sync (GADS) для одного из лесов Active Directory, которыми я управляю. Этот лес был создан с функциональным уровнем 2012R2. Сейчас настраиваю GADS для второго леса. Раньше этот лес находился на функциональном уровне 2003 года, но позже был повышен до функционального уровня 2008 года.
В GADS я использую пару правил поиска для учетных записей пользователей, которые приостанавливают работу пользователей Google Apps, которые отключены в AD, и отменяют приостановку пользователей, которые включены в AD. Эта компоновка безупречно работает в первом созданном мною лесу. Но в моем новом лесу он возвращает неполные данные.
Вот запросы, которые я использую:
Не приостанавливать (& (objectCategory = person) (! (UserAccountControl: 1.2.840.113556.1.4.803: = 2)))
Приостановить (& (objectCategory = person) (userAccountControl: 1.2.840.113556.1.4.803: = 2))
Вот проблема: если я запустил «Тестовый запрос LDAP» в интерфейсе GADS для этого запроса Suspend, он вернет мне только двух пользователей. Но всего 36 пользователей, которых нужно вернуть. Поскольку запрос не находит полный список пользователей с ограниченными возможностями, когда я отключаю кого-то в AD и запускаю синхронизацию, GADS не отключает пользователя в Google Apps.
Когда я запускаю тот же запрос в инструменте запросов LDAP, отличном от GADS (VTLDAPQuery), он возвращает мне полный список.
Два пользователя, которых GADS возвращает, когда я тестирую запрос, были созданы еще в 2003 году. Остальные 34 были, Я считаю, созданный после повышения функционального уровня.
Хорошо, я понял это, и теперь я так зол на себя. Проблема заключалась в недостаточных разрешениях для учетной записи службы, используемой для выполнения запроса LDAP. В лесу, который не так облажался, как наш, особые разрешения, вероятно, не потребуются, но в моем конкретном домене добавление учетной записи запроса LDAP в «Администраторы домена» сразу же решило проблему. Мне придется продолжить эксперименты, чтобы найти минимальный уровень требуемых разрешений, но явно виноваты разрешения.
Я только что столкнулся с аналогичной проблемой, когда запрос LDAP в Google Cloud Directory Sync возвращал 109 пользователей, но тот же запрос в инструменте LDP от Microsoft возвращал 118 пользователей. BaseDN был одинаковым в обоих случаях, вошел в систему с одной и той же учетной записью BindDN. Запрос настолько прост, насколько это возможно: (objectclass=user)
Это оказалось самым простым решением, которое только можно вообразить - GCDS автоматически фильтрует результаты, чтобы выбрать только те, которые имеют правильно заполненный атрибут «mail». Если у вашего пользователя нет адреса электронной почты в свойствах AD или адрес электронной почты не является допустимым форматом, GCDS исключит пользователя из результатов поиска.
Это может быть не проблема с неполными результатами в каждом случае, но это была проблема в моем случае, поэтому я надеюсь, что этот ответ будет кому-то полезен.