IT Wars

Les guerres d'un Responsable Informatique

Script de migration Active Directory 2008

Par admin, le mardi 28 avril 2009 à 17:31 | Dev

Je vous propose un petit script pour faire des ajouts en masse dans l'Active Directory d'un Windows 2008 Server Core depuis un fichier csv. 

Je suis actuellement dans une phase de migration de mon serveur d'annuaire OpenLDAP vers un AD pour à terme mettre en oeuvre Exchange 2007.

Dans le fichier csv, sur chaque ligne on trouve les informations suivantes :
 

prenom;nom;tel;cphone;poste;email;job;service

Ce script a été fait rapidement mais fonctionne parfaitement, les messages d'erreur viennent uniquement de la dernière ligne (-disable no) car la GPO de base exige un mot de passe.
 

#!/usr/bin/perl -w

use strict;
use utf8;
use Encode;

open FILE, "<intranet.csv";
my @intranet=<FILE>;
close FILE;

foreach my $line (@intranet) {
   my($prenom,$nom,$tel,$cphone,$poste,$email,$job,$service)=split /;/, $line;
   my $id=(split /@/, $email)[0];
   print "inserting $id\n";
   chop $service;
   if($cphone eq "") {
		$cphone=" ";
   }
   `dsadd ou \"OU=MaComp,DC=france,DC=Compagnie,DC=com\"`;

   `dsadd ou \"OU=$service,OU=MaComp,DC=france,DC=Compagnie,DC=com\"\
   -desc \"$service Team\"`;

   `dsadd user \
   \"CN=$prenom $nom,OU=$service,OU=MaComp,DC=france,DC=Compagnie,DC=com\"\ 	
   -fn \"$prenom\" 			\
   -ln \"$nom\" 			\
   -upn \"$id\@france.Compagnie.com\"	\
   -display \"$prenom $nom\" 		\
   -tel \"$tel\" 			\
   -email \"$email\" 			\
   -dept \"$service\" 			\
   -company \"Ma Compagnie France\" 	\
   -mustchpwd yes 			\
   -samid \"$id\" 			\
   -office \"France\" 			\
   -title \"$job\"			\
   -mobile \"$cphone\"			\
   -desc \"Ma Compagnie France\"	\
   -disabled no`;
}

Le seul manque, je n'ai pas réussit à mettre un mot de passe par défaut ... Donc, si vous avez la solution, je suis preneur !

Fil des commentaires de cet article

Laisser un Commentaire

Quelle est la dernière lettre du mot ztljk ? :