phpldapadmin — php ldap получить всех (рекурсивных) активных пользователей каталога в узле

У меня есть активный каталог здесь, как это выглядит:

введите описание изображения здесь

Теперь я публикую имя группы в функции ldap и хочу, чтобы все пользователи были в этой группе.

Я запускаю это:

ldap_search($ldap_con, "DC=Company,DC=Intra", "(&(&(objectClass=user)(objectCategory=Person))(CN=*))");

он возвращает всех пользователей в домене, я просто хочу сделать это в определенной группе
Я пытался (пользователи под «OU = название компании», как показано на рисунке), но ни один из них не работает ..

ldap_search($ldap_con, "DC=Company,DC=Intra", "(&(&(objectClass=user)(objectCategory=Person))(CN=*,OU=Company))");
ldap_search($ldap_con, "DC=Company,DC=Intra", "(&(&(objectClass=user)(objectCategory=Person))(memberOf=OU=Company Name))");
ldap_search($ldap_con, "DC=Company,DC=Intra", "(&(&(objectClass=user)(objectCategory=Person))(memberOf=Kullanicilar,OU=Company Name))");

Даже это не работа:

ldap_search($ldap_con, "DC=Company,DC=Intra", "(&(&(objectClass=user)(objectCategory=Person))(OU=*))");

Нужно ли использовать CN в параметрах поиска? как я буду получать пользователей в CN и OU в одном запросе?

2

Решение

Я нашел способ достичь своей цели. ldap_search функция требует 3 параметра: («экземпляр соединения ldap», «путь к базовому узлу, его значение атрибута Отличительное имя ..», «и запрос объектов с параметром статический, objectClass=user а также objectCategory=Person требуется получить рекламный объект как пользовательский объект, так что .. «)

Вот моя функция (этот опыт извлекает пользователей из узла, который вы видите выше в посте с вопросом):

public function saveAllUsersInGroup($ldap_con, $groupname){
$base_dn = $this->getmainAttribute();
//exp: $groupname = "OU=Kullanicilar,OU=CompanyName,DC=Company,DC=Intra"$results1 = ldap_search($ldap_con, $groupname,
"(&(&(objectClass=user)(objectCategory=Person))(CN=*))",array("distinguishedname"));
$userList = ldap_get_entries($ldap_con, $results1);
unset($userList["count"]);
$result = array();
foreach($userList as $user)
$result[] = $user["dn"];
return implode("&",$result);
}

Меня устраивает. Я надеюсь, что это помогает, если кому-то нужно то же самое.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]