[active directory] ajout utilisateurs via excel.vbs

Contenu du snippet

Comme sont nom l'indique, ce script permet d'ajouter autant d'utilisateur dans active directory qu'il y a de ligne dans le fichier Excel, ici nommé: ComptesUtilisateurs.xls (Attention: placer ce fichier dans le meme dossier que le script).

Source / Exemple :


'========================================================================
' Script de création de comptes utilisateurs dans le conteneur "Users" a partir d'un fichier Excel
'========================================================================

'========================================================================
' Déclaration des variables
'========================================================================

Dim oexapp, oexwk, oexws, owshshell, ocellule, i
dim nom, prenom, loggin, mdp, bureau, messagerie, ville, liste
liste = ""

'========================================================================
' Accès au fichier Excel contenant les données des utilisateurs a créer
'========================================================================

set oexapp = wscript.createobject("Excel.Application")
set owshshell = wscript.createobject("wscript.shell")
oexapp.visible = false
set oexwk = oexapp.workbooks.open(owshshell.currentdirectory & "\ComptesUtilisateurs.xls")
set oexws = oexwk.activesheet

'========================================================================
' Boucle d'extraction des données Excel ligne par ligne [~détail~]
'========================================================================

i = 6
Do until oexapp.cells(i,3).value = ""

' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Assignation de chaque colonne Excel dans une variable
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

nom = oexapp.cells(i,3).value
prenom = oexapp.cells(i,4).value
loggin = oexapp.cells(i,5).value
mdp = oexapp.cells(i,6).value
bureau = oexapp.cells(i,7).value
messagerie = oexapp.cells(i,8).value
ville = oexapp.cells(i,9).value

' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Choix du domaine et du conteneur d'Active Directory
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Set objDomain = GetObject("LDAP://dc=groupe,dc=adg")
Set objCN = GetObject("LDAP://CN=Users, dc=groupe, dc=adg")

' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Création de l'utilisateur "# i" et assignation des valeurs: loggin, nom, prénom, bureau _
' messagerie, ville et password
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Set objUser = objCN.Create("User", "cn= " & nom & "")
objUser.Put "sAMAccountName", loggin
objUser.Put "sn", nom
objUser.Put "givenName", prenom
objUser.Put "physicalDeliveryOfficeName", bureau
objUser.Put "mail", messagerie
objUser.Put "l", ville
objUser.SetInfo

Set objUser = GetObject("LDAP://cn=" & nom & ",CN=Users,dc=groupe,dc=adg")
objUser.SetPassword "P@ssw0rd"

' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Placement de l'utilisateur dans le groupe "Utilisa. du domaine"
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Set objCN = GetObject("LDAP://CN=Users, dc=groupe, dc=adg")
Set objGroup = GetObject("LDAP://CN=Utilisa. du domaine, CN=Users, dc=groupe, dc=adg")
objGroup.Put "sAMAccountName", "Utilisa. du domaine"

' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Activation du compte
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Set objUser = GetObject("LDAP://cn=" & nom & ", CN=Users, DC=groupe, DC=adg")
objUser.AccountDisabled = FALSE
objUser.SetInfo

liste = liste + nom & ", "
i = i+1
Loop

' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Récapitulatif des utilisateurs crées via la variable "liste"
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MsgBox "Les utilisateurs " & liste & " ont été créés et activés."

Conclusion :


Dans mon fichier Excel, les donné des utilisateurs commence a la ligne 6 et la colonne 3, adapter suivant votre fichier.
Ce script active le compte lors de sa création, si vous souhaiter le laisser désactivé, remplacer "objUser.AccountDisabled = FALSE" par "objUser.AccountDisabled = TRUE"

A voir également