2013-10-10 3 views
4

LDAP Search Filter에 문제가 있습니다.LDAP 필터 - 특정 OU의 모든 사용자 찾기

(&(objectCategory=user)(OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local)) 

현재는 어떤 결과를 반환하지 않습니다 : 내가 검색하는 데 필요하고하는 것은 OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local

내 검색입니다 특정 LDAP 그룹의 모든 사용자입니다. 내가 뭘 놓치고 있니?

+0

기회는 OU = 직원이 '그룹'이 아닙니다. 그것은'organizationalUnit'입니다. 여기에는 그룹이 포함되어 있으며 폴더에 파일이있는 것과 같습니다. – ixe013

답변

4

당신은 두 가지

  1. 을 수행해야합니다 설정 objectClass와 개체에 대한 검색 OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local
  2. 검색의 기본.

PHP를 사용하여, 검색과 같을 것이다 (this PHP sample 기준) :

<?php 
//You must bind, first 
// using ldap bind 
$ldaprdn = 'yourdomain\nic_hubbard';  // ldap rdn or dn 
$ldappass = 'password'; // associated password 

// connect to ldap server 
$ldapconn = ldap_connect("yourad.test.local") 
    or die("Could not connect to LDAP server."); 

if ($ldapconn) { 

    // binding to ldap server 
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); 

    $dn = "OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local"; 
    $filter="(objectClass=user)"; 
    $justthese = array("cn", "sn", "givenname", "mail"); 

    $sr=ldap_search($ldapconn, $dn, $filter, $justthese); 

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

    echo $info["count"]." entries returned\n"; 
} 

?> 

당신이 명령 행에서 테스트 할 수 있습니다 (정확한 옵션에 따라 다릅니다이 최근과 openldap의 클라이언트 도구와 함께 작동) :

ldapsearch -H ldap://yourad.test.local -x -D "yourdomain\nic_hubbard" -W -b "OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local" -s sub "(objectClass=user)" 
+0

흠, 내가 해냈습니다. 결과를 반환하지 않습니다 ... 이것은 PHP를 사용하고 있습니다. –