Я пытаюсь прочитать некоторые учетные записи пользователей из Active Directory. Я могу подключиться и подтвердить подлинность просто отлично. Но какой бы поиск я ни бросил, я получаю «Ошибка операции». Есть идеи, что это может быть?
Я запускаю сценарий на компьютере с сервером Windows 2k8 с CLI PHP 5.3.8. (Я не эксперт по AD :) dsa.mcs говорит мне, что хост AD имеет DC Type = GC и DC DC W2K8.
// $ds = ldap_connect($host, $port);
// $db = ldab_bind($ds, $user, $password);
// $ds and $db are verified, connected and authenticated!
$dn = "CN=All users in Some City,OU=Some Group,OU=Some City,OU=Company Name,DC=bar,DC=foo,DC=com";
//$filter = 'sAMAccountName=' . $username;
//$filter = "(&(&(&(objectCategory=person)(objectClass=user))))";
$filter = "(objectClass=user)";
$attributes = array('sn', 'givenName', 'memberOf');
$res = ldap_search($ds, $dn, $filter, $attributes);
// results in
// ldap_errno(): 1
// ldap_error(): Operations error
запуск фолвинга в «терминале» (что-то вроде коробки), просто отлично возвращает список пользователей.
dsget group "CN=All users in Some City,OU=Some Group,OU=Some City,OU=Company Name,DC=bar,DC=foo,DC=com" -members
WTF я здесь скучаю?