2009-12-07 4 views
2

Quelle est la syntaxe correcte d'ajouter une unité d'organisation en utilisant Net :: LDAP, j'ai essayé les éléments suivants:LDAP OU en utilisant Net :: LDAP

#!/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 "[email protected]"; 
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; 

et a obtenu l'erreur suivante:

value of naming attribute 'ou' is not present in entry 64 

Cependant, l'utilisation de la ligne de commande ldapmodify et en utilisant ce LDIF suivant, fonctionne:

dn: ou=Users,dc=lab,dc=net 
changetype: add 
objectclass: top 
objectclass: organizationalUnit 
ou: Users 

Répondre

2
'ou'   => 'dc=Users', 

Cette ligne doit être remplacée par:

'ou'   => 'Users',