On 12/7/09, Chris Ridd <chrisr...@mac.com> wrote: > > On 7 Dec 2009, at 09:38, Lupin Deterd wrote: > >> Hi, >> >> What is the correct syntax of adding an OU using Net::LDAP, I tried >> the following: >> !/usr/bin/perl -w >> >> use 5.10.1; use strict; >> >> use Net::LDAP; use Data::Dumper; >> >> my $ldap = Net::LDAP->new("192.168.183.2") or die "$@"; my $mesg = >> $ldap->bind( "cn=admin,dc=lab,dc=net", password => 'xxx' ); >> >> $mesg = $ldap->add( "ou=Users,dc=lab,dc=net", attrs => [ >> >> 'ou' => 'dc=Users', >> 'objectClass' => [ 'top', 'organizationalUnit' ] >> ] >> >> ); >> >> say $mesg->error; say $mesg->code; >> >> And got the following error: >> >> value of naming attribute 'ou' is not present in entry 64 >> >> However using the ldapmodify command line, and using this following ldif, >> works: >> >> dn: ou=Users,dc=lab,dc=net changetype: add objectclass: top >> objectclass: organizationalUnit ou: Users > > In that case, your add call should say: > > 'ou' => 'Users', > > instead of: > > 'ou' => 'dc=Users', > > Cheers, > > Chris > Thanks Chris, it works.
-lupin