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

Reply via email to