Tutoriel DNS dynamique sous Linux

[ASTUCE] Script ajout utilisateurs Active Directory


Script permettant d'ajouter des utilisateurs dans l'AD.
Création d'utilisateurs à partir du fichier "fichier.csv".
Ce fichier contient 3 colonnes : Prénom, NOM, Date d'expiration du compte (xx/xx/xxxx).
Voici son contenu :
Alison;TARTARIN;18/11/2048
Alexandre;BERNARD;23/07/2049
Baptiste;PAGENEAU;09/10/2050

Voici le script :
option explicit

dim LDAPConnectString                
dim Connection, InputFileName, FSO, TextFile, Count, User, Line, Cols   
'Création variable de valeur de connection'
dim SamAccountName, CN, FirstName, LastName, UserPrincipalName, Expiration  
'Creation de variable de données utilisateur
dim pwdLastSet
Const SuffixeUPN = "@tutoriel-it.fr"             
'Suffixe UPN de domaine
Const CSVSeparator = ";"             
'Caractère qui permet de séparer les colonnes
LDAPConnectString = "LDAP://ou=Stagiaires,ou=Utilisateurs,dc=tutoriel-it,dc=fr"  
'Ajout d'utilisateurs dans l'OU "Stagiaires" qui se situe elle même dans l'OU "Utilisateurs" dans le domaine "tutoriel-it.fr"
Set Connection = GetObject(LDAPConnectString) '        

InputFileName = "fichier.csv"    
'Fichier où sont stockées les différentes données (nom, prénom, mot de passe, ...)
Count = 0                  

set FSO = CreateObject("Scripting.FileSystemObject")        
set textFile =  FSO.OpenTextFile(InputFileName,1)       

Do until textFile.AtEndOfStream            

  Line = textfile.ReadLine              
  Cols = Split(Line, CSVSeparator)           
'Une ligne est séparée en colonne par le CSVSeparator soit le point virgule
  Count = Count + 1               
  FirstName = Trim(cols(0))             
'Le prénom est dans la colonne 0 soit la première colonne
  LastName = Trim(cols(1))             
'Le nom est dans la colonne 1 soit la deuxième colonne
  Expiration = Trim(cols(2))            
'La date d'expiration du compte se situe dans la colonne 2 soit la troisième colonne
  SamAccountName = Lcase(left(LastName, 7) & left(FirstName, 1))   
'Formation du login : 7 premières lettres du patronyme + la première lettre du prénom
  Set User = Connection.Create("User", "CN=" & FirstName & " " & LastName) 
'Ajout du CN = Prénom Nom
  User.Put "displayName", FirstName & " " & LastName      
'Ajout du displayName = Prénom Nom
  User.Put "SamAccountName", SamAccountName         
'Ajout du login'
  User.Put "givenName", FirstName           
'Ajout du prénom dans l'onglet prénom
  User.Put "sn", LastName             
'Ajout du nom de famille dans l'onglet nom d'usage'
  User.Put "UserPrincipalName", SamAccountName & suffixeUPN     
'Ajout du compte : login@tutoriel-it.fr
  User.AccountExpirationDate = Expiration        
'Date expiration compte
  User.SetInfo               
  User.AccountDisabled = false           
'Activation du compte'
  User.SetPassword("P@ssw0rd")            
'Ajout du mot de passe "P@ssw0rd" aux utilisateurs
  User.Put "pwdLastSet", 0        
  User.SetInfo                
 
  

Loop                   

'Vérification

wscript.echo "Opération terminée. " & Count & " utilisateurs importés."  
textFile.close                 

0 commentaires :

Enregistrer un commentaire