[active directory] ajout utilisateurs via excel.vbs

Soyez le premier à donner votre avis sur cette source.

Snippet vu 43 092 fois - Téléchargée 25 fois

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

Ajouter un commentaire

Commentaires

jbkikou
Messages postés
1
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
29 mars 2011
-
bonjour,
je ne comprend qu'est ce qu'il faut mettre dans le dossier excel dans la colonne bureau si quelqu'un peut m'aider.
je ne m'y connais pas trop en VB mais je comprend une bonne partie du script. merci d'avance
aliniou
Messages postés
1
Date d'inscription
dimanche 4 avril 2010
Statut
Membre
Dernière intervention
13 février 2011
-
bonjour jai besoin de votre aide est ce que quelqu'un peut m'explique le code
chaque ligne fait quoi ? c'est la premiere fois que je travail sur du vbs et jai un mini projet que je doit expliqué devant le prof merci d'avance .
cs_FrancB
Messages postés
4
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
8 mars 2010
-
C'est du VBScript, donc tu l'enregistre en .vbs

Cordialement
cs_arnaud94
Messages postés
1
Date d'inscription
jeudi 31 août 2006
Statut
Membre
Dernière intervention
6 mars 2010
-
Mais comment fonctionne ce script ?
Il suffit de le copier coller dans le bloc note et l'enregistrer en .cmd ?
GeneralT
Messages postés
1
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
15 juillet 2009
-
hello!
je pense qu'il faut remplacer par les valeur correspondant au nom de ton domaine
Si j'ai bien compris ici le script est valable pour le domaine "groupe.adg"
à toi de faire le reste

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.