Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: ADSI -> 0x8002000e Error

by strat (Canon)
on Jun 14, 2005 at 10:59 UTC ( [id://466475]=note: print w/replies, xml ) Need Help??


in reply to Re: ADSI -> 0x8002000e Error
in thread ADSI -> 0x8002000e Error

cn=users is correct, because users is objectClass: container with naming attribute cn and not objectClass: organizationalUnit with naming attribute ou

Best regards,
perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"

Replies are listed 'Best First'.
Re^3: ADSI -> 0x8002000e Error
by strat (Canon) on Jan 24, 2006 at 12:46 UTC

    Well, I've finally found the solution by myself

    use Win32::OLE; $Win32::OLE::Warn = 3; # see perldoc Win32::OLE my $userDn = 'cn=myself,ou=myOu,dc=myDomain,dc=myTld'; my $password = 'secret'; my @wantedFields = qw(ADsPath cn sn givenName sAMAccountName); my $searchFilter = "(&(objectClass=user)(sn=*))"; # connect to AD with user and password my $connObj = Win32::OLE->new('ADODB.Connection'); $connObj->{Provider} = 'ADsDSOObject'; $connObj->Properties->{'User ID' } = $userDn; $connObj->Properties->{'Password'} = $password; $connObj->Open('ADSI Provider'); # prepare a search my $searchString = join (";", "<LDAP://192.1.2.3/dc=myDomain,dc=myTld>", $searchFilter, join(",", @wantedFields), 'SubTree', ); my $adoCmdObj = Win32::OLE->new('ADODB.Command'); $adoCmdObj->{ActiveConnection} = $connObj; $adoCmdObj->{CommandText} = $searchString; $adoCmdObj->Properties->{'Page Size'} = 1000; # execute search and return user one by onesy my $rsObj = Win32::OLE->new('ADODB.RecordSet'); $rsObj->Open( { Source => $adoCmdObj } ); $rsObj->MoveFirst() if $rsObj and not $rs->EOF(); while (not $rsObj->EOF) { foreach my $i (0..$#wantedFields) { my $value = $rsObj->Fields($i)->{Value}; # $values may be a lot of different things that often # can't just be printed (e.g. octet string, multivalues) # Win32::OLE::Variant objects, ... # if you work with them, the following line doesn't make # much sense but has to be replaced printf "%s: %s\n", $wantedFields[$i], $value; } # foreach print "--------------\n"; # move "cursor" to next obj to prevent infinite loop $rsObj->MoveNext(); } # while $rsObj->Close(); $connObj->Close();

    Best regards,
    perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://466475]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2024-04-20 00:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found