1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
use strict;
use warnings;
use Net::LDAP;
............... Ce qui précède concerne base de données donc OK ...............
#Connection ldap
my $ldap = Net::LDAP->new('blabla', port => 389, version => 3) or die "Impossible de contacter l'annuaire";
#Identification
$ldap->bind ("cn=Foo, dc=Foo, dc=com", password => "secret);
#Chemin d'accès du csv
my $csv = '/Toto/users.csv' ;
#Ouverture du fichier csv + décomposition etc
open (my $fh, '<', $csv) or die "Impossible d'ouvrir le $csv";
C'est surement là où ça cloche :D J'aimerai récupérer les infos de mon csv entre les virgules et les injecter dans l'ajout d'un enregistrement d'un utilisateur
while (my $line=<$fh>) {
chomp $line;
my @don = split (/,/, $line);
$mesg = $ldap->add( "uid='$don[1],o=users,dc=com",
attr => [
objectClass =>
[ 'top', 'person','organizationalPerson' ,'inetOrgPerson', 'posixAccount', 'shadowAccount' ],
uid => '$don[0]', // qui représente la donnée identifiant
cn => '$don[2]$don[1]', // qui représente les données prénom et nom
sn => '$don[1]', // qui représente la donnée nom
givenName => '$don[2]' // qui représente la donnée prénom
uidNumber => $don[5], // qui représente la donnée iduser
gidNumber => $don[5], // qui représente la donnée idgroup
homeDirectory => '/home/don[0]', // qui représente le /home/identifiant
description => '$don[2]',
loginShell => '/bin/bash',
mail => '$don[2]$don[1]'@exemple.com', // qui représente les données prénom et nom
shadowMin => '0',
shadowMax => '999999',
shadowWarning => '7',
shadowInactive => '-1',
shadowExpire => '17266',
shadowFlag => '0',
]
);
// Peut -être vider le tableau ?
}
#Chemin d'acc
close $fh; |