Вообщем столкнулся со следующей проблемой (непониманием):
Когда мне необходимо выбрать всех юзеров из AD я пишу примерно следующее:
$ldap = Yii::app()->ldap->getLdapConnection();
$base_dn = 'DC=example,DC=org';
$sr = ldap_search($ldap, $base_dn, '(&(objectClass=user))', array("samaccountname","displayname"));
$info = ldap_get_entries($ldap, $sr);
И получаю результаты. Обратите внимание, в $base_dn находится корень AD, хотя сами юзеры не лежат в корне, а находятся в CN=Users
Теперь у меня возникает необходимость выбрать все Подсети из AD и если я в качестве BaseDn укажу корень (DC=example,DC=org), то получаю 0 результатов. Если же указать путь полностью (CN=Subnets,CN=Sites,CN=Configuration,DC=example,DC=org), то оно начинает работать.
$ldap = Yii::app()->ldap->getLdapConnection();
$base_dn = 'CN=Subnets,CN=Sites,CN=Configuration,DC=example,DC=org';
$sr = ldap_search($ldap, $base_dn, '(&(objectClass=subnet))', array('siteObject', 'cn'));
$info = ldap_get_entries($ldap, $sr);
Скажите, может я что то упустил? Почему в случае с юзерами он выбирает их всех при указании корня, а для подсетей приходится указывать полный путь?