LDAP-фильтр при поиске пользователей и групп в Active Directory
Если при поиске пользователей и групп нужно исключить дублирующие учетные записи или нужно обращаться только к части каталога пользователей, а не ко всему каталогу, настройте LDAP-фильтр:
- На сервере Indeed AM откройте файл конфигурации сервера C:\inetpub\wwwroot\am\core\Web.config.
- Найдите секцию
adUserCatalogProviderи задайте в ней атрибутыcatalogFilterиdnFilterдля фильтрации элементов пользовательского каталога:catalogFilter— строка LDAP-запрос для фильтрации элементов на этапе выполнения запроса к AD. Не поддерживает фильтрацию по частичному совпадению атрибутов distinguishedName и canonicalName (для этих целей добавлен dnFilter).dnFilter(фильтр distinguishedName) — регулярное выражение для фильтрации результатов после выполнения LDAP-запроса к AD.
Примеры использования фильтров
catalogFilter
Исключение определенных пользователей
&(!(name=AmUser1))(!(name=AmUser2)(!(name=AmUser3)))
Исключение всех дочерних элементов первого уровня указанной OU
!(msDS-parentdistname=OU=AmOrgUnit,OU=AmUserCatalog,DC=dom,DC=local)
Исключение всех членов группы
!(memberOf=CN=AmGroup,OU=AmUserCatalog,DC=dom,DC=local)
dnFilter
Исключение OU и всех дочерних элементов
(?!^.*OU=MyOULevel1,OU=AmUserCatalog,DC=dom,DC=local$)(^.*$)Использование только указанной OU
(^.*OU=MyOULevel1,OU=AmUserCatalog,DC=dom,DC=local$)Комбинированный фильтр — использование только указанной OU без определенных дочерних элементов
(?!.*OU=MyOULevel2-1,OU=MyOULevel1,OU=AmUserCatalog,DC=dom,DC=local$)(^.*OU=MyOULevel1,OU=AmUserCatalog,DC=dom,DC=local$)Конструкция с фильтрацией нескольких OU через оператор
|(или) — любое количество условий может быть соблюдено, использование полныхdistinguishedNameуказанной OU((^.*OU=Indeed3,OU=IndeedUnit,DC=indeed,DC=local$)|(^.*OU=Indeed4,OU=IndeedUnit,DC=indeed,DC=local$))