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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| ' Script VBScript pour la mise en place structurelle de l'entreprise X sous Active Directory
Option Explicit ' Force les variables à être définies
' Définition des variables
Dim Objet_Doss_Part, Objet_Part_Res, Objet_Secu_NTFS
Dim Objet_Domaine_OU, Objet_OU
Dim Objet_Domaine_Groupe, Objet_Groupe
Dim Num_Ligne_CSV, Fich_CSV_Entree, Objet_Fich, CSV_Util, Ligne, Colonne
Dim Prenom, Nom, Nom_Session_Util, MDP, OU_CSV, Groupe_CSV, ok11
Dim Objet_Connex_LDAP
Dim Utilisateur, Groupe
'On Error Resume Next ' Dès qu'une erreur est rencontrée, le programme ne se plante pas mais continue son exécution
Const Domaine = "@X.local" ' Domaine
Const Separateur_CSV = ";" ' Caractère séparateur dans le CSV
' Fichier CSV
Fich_CSV_Entree = "Utilisateurs.csv"
Num_Ligne_CSV = 0
Set Objet_Fich = CreateObject("Scripting.FileSystemObject")
Set CSV_Util = Objet_Fich.OpenTextFile(Fich_CSV_Entree, 1) ' Ouverture du fichier CSV en lecture seule
Do Until CSV_Util.AtEndOfStream ' Tant que le fichier n'est pas parcouru
Ligne = CSV_Util.ReadLine ' Lecture de chaque ligne
Colonne = Split(Ligne, Separateur_CSV) ' Découpage des données en fonction du séparateur
Num_Ligne_CSV = Num_Ligne_CSV + 1 ' Compte le nombre de lignes
Prenom = Trim(Colonne(0)) ' Prénom
Nom = Trim(Colonne(1)) ' Nom
Nom_Session_Util = Trim(Colonne(2)) ' Nom d'ouverture de session de l'utilisateur
MDP = Trim(Colonne(3)) ' Mot de passe
OU_CSV = Trim(Colonne(4)) ' Unité d'organisation
Groupe_CSV = Trim(Colonne(5)) ' Groupe
Set Objet_Connex_LDAP = GetObject("LDAP://OU=" & OU_CSV & ",OU=X,DC=X,DC=local") ' Connexion à l'annuaire Active Directory
' Création de l'utilisateur dans Active Directory
Set Utilisateur = Objet_Connex_LDAP.Create("user", "CN=" & Prenom & " " & Nom) ' Nouvel objet - utilisateur
Utilisateur.Put "givenName", Prenom ' Prénom
Utilisateur.Put "sn", Nom ' Nom
Utilisateur.Put "displayName", Prenom & " " & Nom ' Nom complet
Utilisateur.Put "UserPrincipalName", Nom_Session_Util & Domaine ' Nom d'ouverture de session de l'utilisateur
Utilisateur.Put "sAMAccountName", Nom_Session_Util ' Nom d'ouverture de session de l'utilisateur (antérieur à Windows 2000)
Utilisateur.SetInfo ' Confirmer les informations
Utilisateur.SetPassword MDP ' Mot de passe
Utilisateur.AccountDisabled = FALSE ' Le compte n'est pas désactivé
Utilisateur.Put "pwdLastSet", 0 ' L'utilisateur doit changer le mot de passe à la prochaine ouverture de session
Utilisateur.SetInfo ' Confirmer les informations utilisateur
Utilisateur.Put "profilePath", "\\SERVEURS\Profils\%USERNAME%" ' Chemin du profil
Utilisateur.SetInfo ' Confirmer les informations utilisateur
' Ajout de l'utilisateur au groupe
Set Groupe = GetObject("LDAP://CN=" & Groupe_CSV & ",OU=" & OU_CSV & ",OU=X,DC=X,DC=local")
Groupe.Add "LDAP://CN=" & Prenom & " " & Nom & ",OU=" & OU_CSV & ",DC=X,DC=local"
Set objet_Connex_LDAP = Nothing ' Retrait de l'objet en mémoire
Loop
WScript.Echo "L'opération s'est correctement terminée. " & "La création de " & Num_Ligne_CSV & " utilisateur(s) s'est achevée avec succès."
CSV_Util.Close ' Fermeture du fichier CSV
Set Objet_Fich = Nothing
Set CSV_Util = Nothing |
Partager