note 105631 added to function.ldap-search
| From: | nick at osu1 dot php dot net | Date: | Fri, 02 Sep 2011 06:09:31 +0000 |
| Subject: | note 105631 added to function.ldap-search | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-182895@lists.php.net to get a copy of this message | ||
Results from ActiveDirectory may be ordered by objectSid.
We can get all users for each page size by modify filter.
<?php
// ... connect to ldap
$lastsid='';
while (1) {
$filter = '(objectClass=user)';
if (strlen($lastsid)) {
list($v)=array_values(unpack('V',substr($lastsid,24))); // id for user.
$s = substr($lastsid,0,24).pack('V',1+$v); // next sid.
$s = preg_replace('/../','\\\\$0',bin2hex($s)); // escape for fiter
$filter = '(&'.$filter.'(objectSid>='.$s.'))'; // fiter for
next entries.
}
$res = ldap_search($ldap,$basedn,$filter,array('objectSid','cn'));
if (!ldap_count_entries($ldap,$res)) {
break;
}
for ($ent=ldap_first_entry($ldap,$res); $ent; $ent=ldap_next_entry($ldap,$ent)) {
list($lastsid) = ldap_get_values_len($ldap,$ent,'objectSid');
}
}
?>
----
Server IP: 69.147.83.197
Probable Submitter: 202.215.127.90
----
Manual Page -- http://www.php.net/manual/en/function.ldap-search.php
Edit -- https://master.php.net/note/edit/105631
Del: integrated -- https://master.php.net/note/delete/105631/integrated
Del: useless -- https://master.php.net/note/delete/105631/useless
Del: bad code -- https://master.php.net/note/delete/105631/bad+code
Del: spam -- https://master.php.net/note/delete/105631/spam
Del: non-english -- https://master.php.net/note/delete/105631/non-english
Del: in docs -- https://master.php.net/note/delete/105631/in+docs
Del: other reasons-- https://master.php.net/note/delete/105631
Reject -- https://master.php.net/note/reject/105631
Search -- https://master.php.net/manage/user-notes.php