Архивы: ldap

AD LDAP sync Google Mail

При настройки синхронизации данных из AD по LDAP в Google apps столкнулся с такими проблемами
Первая проблема LDAP при создании строки запроса
(&(objectCategory=person)(!msExchMailboxGuid=*))
выдавало ошибку
FAILURE : Failed to execute query because the object at Base DN: «domen» is missing or inaccessible.

Решение было в синтаксисе правильно заключить в скобки
(&(objectCategory=person)(!(msExchMailboxGuid=*))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
Этот фильтр все активные пользователи + без включенной почты exchnage

Вторая проблема я начал на поше выборки и пришел в ограничения 1000 лимит запроса LDAP (LDAP limit 1000 records)
его можно увеличить значением maxPageSize которое править так
ntdsutil
ntdsutil: ldap policies
ldap policy: connections
server connections: connect to server DC1
server connections : q
ldap policy : show values
ldap policy : set maxpagesize to 7000
ldap policy : commit changes
ldap policy : q
ntdsutil : q

Также доступны материалы по запросам LDAP microsoft
Также доступны материалы по примерам запросов LDAP Google
Пример на powershell для тестов запросов LDAP

 

Пример на powershell для тестов запросов LDAP

Этот код делает запрос LDAP к домену (&(objectCategory=person)(!msExchMailboxGuid=*))
выбирает всех пользователей с включенной почтой exchnage

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = «LDAP://dc=corp,dc=ru»
$objSearcher.Filter = «(&(objectCategory=person)(!msExchMailboxGuid=*))»
$objSearcher.Filter = «(objectCategory=person)»
$users = $objSearcher.FindAll()
$i=0
Foreach($User in $Users) {
$i++;
» $($i)- $($user.Properties.mailnickname)»
» $($i)- $($user.Properties.mailnickname)» >> 1.1
# $user.Properties.displayname
#
}
«Всего -$($users.Count)»

Другие фильтров LDAP Microsoft
Другие фильтров LDAP Google
Синхронизация AD LDAP и Google Mail

 

запросы LDAP microsoft

Примеры LDAP для работы с AD

Читать далее »