На сервере AD у нас есть атрибут под названием directreports.Я хочу иметь возможность идти сверху вниз в цепочке.Генеральный директор его прямые отчеты A, B, C.Поскольку прямые отчеты - это D, E, F, в то время как прямой отчет Bs - это G, H, I.Тогда прямые отчеты D - это X, Y, Z и т. Д. До конца.
Я смотрел на это как на вложенную группу, но это не так.Я заблудился, как решать все это вместе.Я пытаюсь сделать это на PHP.Мой php-код сейчас просто ищет пользователя и дает мне прямые отчеты.
<code><?php
function aduserlookup ($UserName)
{
include_once 'config.php';
$ldapconn = ldap_connect("ldap://<IP>:389") or die("Could not connect to the ldap server");
if($ldapconn) {
$r = @ldap_bind($ldapconn, $ldapuser."@test.com", $ldappass);
$sr=ldap_search($ldapconn, "OU=Employees,OU=Users,DC=test,DC=com",
"cn=" . $UserName);
$info = ldap_get_entries($ldapconn, $sr);
ldap_close($ldapconn);
return $info;
} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}
}
$user = aduserlookup('test');
$directreports = $user[0]['directreports'];
echo '<pre>';
var_dump($directreports);
echo '
';foreach ($ directreports as $ key => $ value) {$ directreports = substr ($ value, 0, strpos ($ value, ","));$ directreports = strstr ($ directreports, '=');$ directreports = str_replace ('=', '', $ directreports);$ directreports1 = aduserlookup ('\' '. $ directreports.' \ '');echo $ directreports1."
";}?>