Unlimited line width for ldapsearch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Wilmer Jaramillo M. wrote:
> On 7/30/07, Howard Wilkinson <howard at cohtech.com> wrote:
>   
>>  Wilmer Jaramillo M. wrote:
>>    I found that ../shared/bin/ldasearch only show a output of 76 chars
>> per line, and manual page not described how be longer the output, i
>> want set the line-width used to implement filter in long strings 'OU'
>> in perl scripts. Also i found a very simple patch for ldapsearch of
>> openldap tools in:
>> http://www.openldap.org/lists/openldap-bugs/199912/msg00099.html
>> openldap it does not have support still.
>> 	
>> Probably some method of Net::LDAP can do it, I'm investigating a
>> module or regex that can help me in this, any suggestion? thanks.
>>
>>   Take a look at Net::LDAP::LDIF an option to new is called 'wrap' which is normally set to 78 (one space, 76 printing characters, and the newline for continuation lines) this should give you what you want.
>>
>>     
>
> I'm looking to replace  the following query to a Windows ADS for a
> Perl sintax because the output is limited for line-width:
> my $ldapsearch = "(ldapsearch - x - H ldap: To //$adserver - D "to
> $aduser" - w $adpass - s sub - b "$baseDN"" (cn=*) '| grep - i "ou=" |
> cut - d, - F2 | grep - v - i "CN= " | uniq)`
>
> I want search in the directory for all entries firts level
> OrganizationalUnit (ou) just now I'm using Mozilla::LDAP::Conn with
> very good results, nevertheless, the searches are very slow, anyway
> that just do right what I need, according to man:
>
> use Mozilla::LDAP::Conn;
> ....
> $conn = new Mozilla::LDAP::Conn($adserver,$adport,$aduser,$adpass);
> die "LDAP not connect $adserver" unless ($conn);
>
> &org_unit($baseDN);
> exit(0);
>
> sub org_unit()
> {
> my ($entry, $dn, $scope, $filter, $dn) = "";
> my (@ouDN, @attrs) = ();
>
>   @attrs = ( "ou" );
>   $scope = "sub";
>   $filter = "(ou=*)";
>
> # Busca en el directorio las entradas ous
> $entry = $conn->search($baseDN, $scope, $filter, 0, @attrs);
> $cld = $conn->getLD();
> $res = $conn->getRes();
> $count = Mozilla::LDAP::API::ldap_count_entries($cld, $res);
> while ($entry) {
>         # Coloca en un array cada entrada DN
>         $ouDN = $entry->getDN();
>         push (@ouDN,$dn);
>         print "$dn\n";
>         $entry = $conn->nextEntry();
> }
> foreach $dn (@ouDNS)
>  {
>     &org_unit($dn)
>  }
> }
>
>
> thanks for all.
>   
You should use the Net::LDAP (perl-ldap) package. Make sure you use page 
mode access (pages are ~1000 entries for Windows 2000 and ~1500 for 
Windows 2003) and process each record in a call back. If you set the 
line wrap in the Net::LDAP::LDIF  object   you use to write the output 
you should get the results you want.

I have production code using this technology that will process over 
120,000 records in less than 15 minutes from a moderately loaded Active 
Directory. So this should be good enough for what you want.

-- 

Howard Wilkinson

	

Phone:

	

+44(20)76907075

Coherent Technology Limited

	

Fax:

	

 

23 Northampton Square,

	

Mobile:

	

+44(7980)639379

United Kingdom, EC1V 0HL

	

Email:

	

howard at cohtech.com

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/389-users/attachments/20070730/ebbba1cc/attachment.html 


[Index of Archives]     [Fedora User Discussion]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Yosemite Photos]     [Linux Apps]     [Maemo Users]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux