PERL and Active DIrectory

G

gaz_5_m

Hi folks,

I was just wondering if anyone was using PERL to any great effect to
query Active DIrectory.

I'm in the middle of a fairly large project at work that requires
getting (constantly changing) info from AD. I was doing the same
things on a daily basis so thought it best to try and script it.

Is there any way to directly interrogate AD from within PERL. At the
moment, the only way I have been able to figure out is to use the
Windows Admin Pak to call:

open query, "dsquery group -name "x" | dsget group -members |";

from within the script and then use the piped output of the open
command to strip out the data that I want.

It works OK, just takes a hell of a long time!

The other issue I get is the default return size that is set in our AD
environment, 1000, so groups with any larger than 1000 users return
nothing.

I know you can get round this with VB, but PERL is my language of
choice! :)

Anyone with any tips?
 
Q

QoS

Hi folks,

I was just wondering if anyone was using PERL to any great effect to
query Active DIrectory.

I'm in the middle of a fairly large project at work that requires
getting (constantly changing) info from AD. I was doing the same
things on a daily basis so thought it best to try and script it.

Is there any way to directly interrogate AD from within PERL. At the
moment, the only way I have been able to figure out is to use the
Windows Admin Pak to call:

open query, "dsquery group -name "x" | dsget group -members |";

from within the script and then use the piped output of the open
command to strip out the data that I want.

It works OK, just takes a hell of a long time!

The other issue I get is the default return size that is set in our AD
environment, 1000, so groups with any larger than 1000 users return
nothing.

I know you can get round this with VB, but PERL is my language of
choice! :)

Anyone with any tips?

Yeah you probably want to use Net::LDAP
it is part of the perl-ldap package
btw this will work with all major directory services
Netscape, AD, NDS, and Solaris Directory
 
G

gaz_5_m

Yeah you probably want to use Net::LDAP
it is part of the perl-ldap package
btw this will work with all major directory services
Netscape, AD, NDS, and Solaris Directory

Thanks for that. I've been having a look at the LDAP library in PERL
but I'm not as proficient in OO coding as I used to be :) so it might
take a little time.

One of the reasons I'm looking to change is the speed issues piping
things out to dsget and dsquery. Does using LDAP prove quite speedy
(especially for large queries)?
 
Q

QoS

Thanks for that. I've been having a look at the LDAP library in PERL
but I'm not as proficient in OO coding as I used to be :) so it might
take a little time.

One of the reasons I'm looking to change is the speed issues piping
things out to dsget and dsquery. Does using LDAP prove quite speedy
(especially for large queries)?

Speed will largely be determined by things like the network and the
server.. that said it would likely be quickest to query the nearest DC.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,185
Members
46,736
Latest member
AdolphBig6

Latest Threads

Top