Получить список членов группы в AD

AJtoxic

Новичок
Получить список членов группы в AD

Как правильно настроить фильтр ldap_search чтобы он возвращал членов группы в AD?

<?
$sr=ldap_search($ds, "CN=Inet_Access,OU=1,DC=2,DC=RU", "*");
?>

какой атрибут группы показывает ее членов?
 

Кром

Новичок
Как вариант, тебе нужно сначала найти нужную группу или группы, т.е. по типу
objectClass=group
или конкретную группу, например по distinguishedname, т.е.:
distinguishedname=имя группы
а затем взять от туда атрибут member.
 

AJtoxic

Новичок
при таком варианте:

<?
$sr=ldap_search($ds, "CN=Inet_Access,OU=1,DC=2,DC=RU", "member=*");
?>

возвращает только имя самой группы - Inet_Access.
Или я путь неправильно задаю?
 

Кром

Новичок
Это зависит от того, есть ли у твоего пользователя доступ ко всем данным. Или ты просто выводишь не все данные. Т.е. выбираешь все данные, а выводишь не все.
 

AJtoxic

Новичок
Вот полный код поиска:
PHP:
<?
   $sr=ldap_search($ds, "CN=Inet_Access,OU=Нефтеюганское УМН ОАО Сибнефтепровод,DC=YUG,DC=TMN,DC=TRANSNEFT,DC=RU", "member=*");  
   echo "Search result is " . $sr . "<br />";

   echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";

   echo "Getting entries ...<p>";
   $info = ldap_get_entries($ds, $sr);
   echo "Data for " . $info["count"] . " items returned:<p>";

   for ($i=0; $i<$info["count"]; $i++) {
       echo "cn entry is: " . $info[$i]["cn"][$i] . "<br />";
       echo "мой атрибут: " . $info[$i]["member"][0] . "<br />";
              
   }
?>
При таком варианте выводит одного члена только, причем из середины списка, по какому принципу выбирает именно его не понимаю.
Коннект к ldap'у под своим именем пока, у меня права доменного админа
 

Кром

Новичок
Вывыведи просто
$info = ldap_get_entries($ds, $sr);
print_r($info);
и посмотри что вообще тебе возвращается, если только одна запись, значит нет прав или неправильно указаны параметры подсоединения.
В этом случае проконсультируйся с админом базы.
 

AJtoxic

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

-~{}~ 14.09.06 14:30:

Вот так все работает:

<?
$sr=ldap_search($ds, "CN=Inet_Access,OU=Нефтеюганское УМН ОАО Сибнефтепровод,DC=YUG,DC=TMN,DC=TRANSNEFT,DC=RU", "member=*");
echo "Search result is " . $sr . "<br />";

$info = ldap_get_entries($ds, $sr);

echo "Data for " . count($info[0]["member"]) . " items returned:<p>";
sort($info[0]["member"]);

for ($i=0; $i<(count($info[0]["member"])-1); $i++)
{
echo $info[0]["member"][$i] . "<br />";
}
?>
 
Сверху