Créer compte AD en Perl

Créer compte AD en Perl - Infrastructures serveurs - Systèmes & Réseaux Pro

Marsh Posté le 20-03-2009 à 11:45:30    

Bonjour,
Pour des besoins d'une synchronisation entre Openldap et Active Directory j'aimerai pouvoir ajouter des comptes dans l'AD via un script en perl et ça ne marche pas. J'ai l'erreur  
 
0000209A: SvcErr: DSID-031A0D6F, problem 5003 (WILL_NOT_PERFORM), data 0
 at ajout_user.pl line 26, <DATA> line 362.
 
J'utilise la commande suivante :
 
   $mesg = $ldap->add( $var2,
        attr => [
         objectClass       => [qw( top person organizationalPerson user )] ,
         cn                => 'essai' ,
         description       => 'Nouveau' ,
         givenName         => 'essai' ,
         distinguishedName => $var2 ,
         instanceType      => '4' ,
         whenCreated       => '20051102152514.0Z' ,
         whenChanged       => '20090320095241.0Z' ,
         displayName       => 'essai' ,
         uSNCreated        => '12530' ,
         uSNChanged        => '4796418' ,
         name              => 'essai' ,
         objectGUID        => 'Ng/RqiV6DEGWkBomdkJJnw==' ,
         userAccountControl => '66048' ,
         codepage          => '0' ,
         countryCode       => '0' ,
         lastLogon         => '0' ,
         pwdLastSet        => '0' ,
         accountExpires    => '9223372036854775807' ,
         primaryGroupID    => '513',
         objectSid         => 'AQUAAAAAAAUVAAAAgARYWSGlk5nXUlvr3gUAAA==' ,
         sAMAccountName    => 'essai',
         sAMAccountType    => '805306368' ,
         userPrincipalName => 'essai@toto.fr',
         objectCategory    => 'CN=Person,CN=Schema,CN=Configuration,DC=toto,DC=fr' ,
         mail              => 'essai@toto.fr' ,
         unicodePwd        => Encode::encode('UTF-16LE',qq("$var3" ))]
 
A priori je dois bien me connecter car dans la même partie de mon script j'arrive a modifier des élèments déjà créer via :
 
   $ldap->modify($var2, changes => [
        replace  => [ description => 'toto'],
        ]);
 
 
$var2 étant le dn de mon compte
$var3 le mot de passe.
 
 
J'ai essayé avec un ldapadd :
ldapadd -H ldaps://toto.fr -D cn=admin,DC=toto,DC=fr -W  -f /home/essai.ldif -x
 
Et j'ai le même message d'erreur.
 
Merci pour votre aide...
 
 
Edit : attribut MemberOf enlevé.


Message édité par Bagghera le 20-03-2009 à 15:20:40
Reply

Marsh Posté le 20-03-2009 à 11:45:30   

Reply

Marsh Posté le 20-03-2009 à 13:58:59    

tu fais au feeling les sid and co ?

Reply

Marsh Posté le 20-03-2009 à 15:24:30    

Je me suis basé sur un utilisateur test que je viens de créer via la mmc "Utilisateur et ordinateurs AD".
 
J'ai fait un ldapsearch sur mon AD depuis mon serveur Openldap pour regarder les attributs qui avaient été mis.
Le problème vient peut être des attributs contenant des caractères spéciaux qui windows encode.
 
Par exemple dans mon ldapsearch j'ai :
objectGUID:: V3etn3HrBkec5+Og4J/hiA==
 
Comment dois-je le mettre dans mon script ?
Merci

Reply

Marsh Posté le 20-03-2009 à 15:25:48    

Autre question est-ce que je dois mettre uSNCreated et uSNChanged ?
J'ai pas trouvé la liste des attributs obligatoires...

Reply

Marsh Posté le 20-03-2009 à 15:37:48    

Typiquement ces attributs "spéciaux" ne doivent pas être entrés à la main. Ils sont généré automatiquement. Ca n'a aucun sens (si tu essaie de comprendre à quoi ils servent) de vouloir les rentrer à la main.
 
uSNCreated et uSNChanged correspondent aux compteur (interne de l'AD utilisé lors des réplications) de la création et de la modification de l'objet).

Reply

Marsh Posté le 20-03-2009 à 16:39:13    

Je les ai enlevé ainsi whenCreated et whenChanged et c'est pas mieux.

Reply

Marsh Posté le 20-03-2009 à 16:46:47    

Fait pas ça directement en LDAP c'est pas aussi simple que ça, utilise ADSI c'est fait pour.


Message édité par El Pollo Diablo le 20-03-2009 à 16:49:06
Reply

Marsh Posté le 20-03-2009 à 16:55:42    

C'est ce que je vois :D Par  contre ADSI sur Linux je vois pas comment je vais faire.
A priori certain le font en php donc ça doit être le même fonctionnement ?

Reply

Marsh Posté le 23-03-2009 à 12:07:16    

Le WE étant passé j'espérais avoir une lumière ou une aide bien sentit mais rien....
 
ADSI ça pas l'air simple....

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed