begin process at 2012 02 17 02:23:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VBScript

 > [ACTIVE DIRECTORY] AJOUT UTILISATEURS VIA EXCEL.VBS

[ACTIVE DIRECTORY] AJOUT UTILISATEURS VIA EXCEL.VBS


 Information sur la source

Note :
Aucune note
Catégorie :VBScript Classé sous :active, directory, creation, utilisateur, excel Niveau :Initié Date de création :29/06/2006 Date de mise à jour :29/06/2006 13:16:10 Vu :35 415

Auteur : FrancB

Ecrire un message privé
Site perso
Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

 Description

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

  • '========================================================================
  • ' 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."
'========================================================================
' 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"


 Historique

29 juin 2006 13:16:10 :
^^ modification du titre, c'est tout ;)

 Sources du même auteur

[ACTIVE DIRECTORY] CRÉATION D'UNE UNITÉ ORGANISATIONNELLE + ...

 Sources de la même categorie

Source avec Zip Source avec une capture RECHERCHE & SAUVEGARDE DES FICHIERS PAR LEURS EXTENSIONS par hackoo
Source avec Zip Source avec une capture [VBS] SPLASH SCREEN EN VBSCRIPT par hackoo
Source avec Zip Source avec une capture [VBS] GOOGLE EASTER EGGS par hackoo
Source avec Zip Source avec une capture FILE2COMPARE: COMPARAISON DE DEUX FICHIERS LIGNE PAR LIGNE par hackoo
Source avec Zip Source avec une capture [VBS] COMMENT CRÉER UN DOSSIER ET LE PROTÉGER PAR MOT DE PAS... par hackoo

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) EXPORTER LES IMAGES DE WORD ET D' EXCEL par Le Pivert
Source avec Zip Source avec une capture MANIPULER LES FENETRES ENFANT D'EXCEL par bigfish_le vrai
Source avec Zip GÉRER MODIFICATION DE DONNÉE DANS CELLULE EXCEL (CODE VBA) par JM247L
Source avec Zip SIGNATURE STANDARDISÉE DANS OUTLOOK VIA PARAMÈTRES ACTIVE DI... par drassef14
Source avec Zip Source avec une capture Source .NET (Dotnet) EXPLORER LDAP ACTIVE DIRECTORY DANS UN TREEVIEW par ankou22

Commentaires et avis

Commentaire de asimengo le 30/06/2006 13:08:13

c'est toujours mieux d'avoir un ZIP avec tous les fichiers.

Commentaire de FrancB le 08/02/2007 16:43:36

Heu dis-moi asimengo, tu veux pas non plus que je passe chez toi pour taper le code a ta place ;)
Tu veux un zip mais il n'y a pas 50 fichier, le fichier excel c'est a toi de le faire avec les noms que tu veux ajouté, et le script, t'as juste a créer un nouveau fichier texte et copier l'intégralité du code.

Que demande le peuple? ^^

Commentaire de zilbafraca le 26/03/2007 15:52:26

salut,j'ai tout fait comme il falai cependant ton script ne marche pas, j'avai 700 uilisateurs a ajouter, tu croit que le nombre de compte est trop élevé???

Commentaire de get_tips le 14/05/2007 16:51:06

Salut,
lorsque je veux exécuter le script il me demande une macro, (je suis novice en VB) est-ce que tu as fais une macro pour ton script ou pas ?

Commentaire de aqwelea le 15/05/2007 09:57:43

Salut FrancB

Je me suis tres largement inspire de ton script pour en creer un nouveau.
J'y ai ajoute un champs de mon fichier excel qui correspond a la valeur "msRADIUSFramedIPAddress".  Cependant, lorsque j'appelle la cellule excel correspondante, mon script plante. Il faut que je saisisse en dur la valeur dans mon script :-(

Je suis plus que debutant en dev et ne sais pas comment regle ce pb qui je pense est lie au format de la valeur. Or si je declare Integer nomvariable ... le script plante aussi ... :-(
Quelqu'un peut-il m'aider ?

Commentaire de aqwelea le 15/05/2007 17:18:06

C'est bon, un dev m'a aide :
Il faut utiliser l'outil de conversion cstr(nomvariable) :-)

@ ++

Commentaire de wasaseb le 03/10/2008 16:55:36

Bonjour,
Existe t'il une version de ce script fonctionnant avec Windows 2008?
Merci d'avance

Commentaire de FrancB le 03/10/2008 17:58:54

J'en ai aucune idée wasaseb, j'ai fait ce script il y à plus de 2 ans, et j'ai appliquer le code à mes besoins.

Il est clair qu'il ne suffira pas de copier coller le code en local chez vous pour que sa marche, il faudra l'adapter. Mais au moins sa permet d'avoir un bon fil directeur.

Bon courage à vous, sa m'avais bien embêter à l'époque ^^

Commentaire de wasaseb le 03/10/2008 18:43:52

Merci pour ta reponse.
Mon probleme c'est que je suis vraiment novice en vb...
Ca va pas etre simple.
Merci tout de meme

Commentaire de sofien007 le 25/11/2008 17:08:30

Bonjour, votre script m'a vraiment aidé mais je bloque dans la ligne

objUser.Put "sAMAccountName", login

Je ne sais pas pourquoi..en fait je suis nouveau dans ce domaine...

Commentaire de sofien007 le 25/11/2008 17:12:03

En fait l'erreur est la suivante : valeur null retourné avec un code 800054005..

Commentaire de sofien007 le 25/11/2008 17:39:30

J'ai utilisé cstr() et là c'est résolu mais le code crash dans la ligne  objUser.SetInfo
La sythaxe d'attribut spécifié au service d'annuaire est invalide!

Commentaire de Eijiro le 09/12/2008 16:28:48

Bonjour FrancB,

Bravo tout d'abord pour ce script, j'aurais une question je suis un admin réseaux, et ce script est intéressant, par contre je voulais m'en m'en aider car je dois créer un script, me permettant de récupérer des utilisateurs d'un fichier Excel, mais je dois les affecter à des OU différentes, et j'ai vraiment aucunes idées de comment rajouter ça dans le script ? car la je vois pas du tout.

Commentaire de le_joker_fou le 06/03/2009 11:52:37

Bonjour,

pour ma part, j'ai un problème car il me dit qu'il y a une erreur ligne 43 soit la ligne suivante :

Message d'erreur : "Une référence a été renvoyée par le serveur"

# ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ' Choix du domaine et du conteneur d'Active Directory
# ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
(l. 43) Set objDomain = GetObject("LDAP://dc=groupe,dc=adg")
# Set objCN = GetObject("LDAP://CN=Users, dc=groupe, dc=adg")

Faut il rajouter quelque choses sur cette ligne ou pas?

Merci d'avance.

Commentaire de GeneralT le 15/07/2009 15:10:43

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

Commentaire de arnaud94 le 06/03/2010 20:03:16

Mais comment fonctionne ce script ?
Il suffit de le copier coller dans le bloc note et l'enregistrer en .cmd ?

Commentaire de FrancB le 08/03/2010 09:50:00

C'est du VBScript, donc tu l'enregistre en .vbs

Cordialement

Commentaire de aliniou le 13/02/2011 11:31:23

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 .

Commentaire de jbkikou le 29/03/2011 08:25:18

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

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

droit dans l'active directory [ par tomsower ] Bonjour,J'aimerais savoir lors de la creation d'un utilisateur quel ligne je dois ajouter pour lui attribuer des droits(controle total, lecture, ecrit Problème création Utilisateur active directory automatique [ par Benjyii ] Bonjour, Je voudrais créer des utilisateus Active Directory automatiquement à partir d'un csv. Mon problème est lors de la configuration du TSE je r Connexion Active Directory .NET [ par biowaste ] Bonjour !!Je dois développer un com+ en Visual Basic .NET et j'ai une question à ce sujet. Le com+ doit être exécuter "en tant qu'un" utilisateur préc creation de comptes utilisateurs [ par ganbalfro ] Je cré des comptes utilisateur dans active directory. Cependant j'aimerais savoir si il existe afin d'éviter de les recéer. Comment faut il faire? set Problème avec Active Directory et .NET [ par biowaste ] Bonjour !!Je dois développer un com+ en Visual Basic .NET et j'ai une question à ce sujet. Le com+ doit être exécuter "en tant qu'un" utilisateur préc Active Directory et VB [ par Caid ] Hola,Je cherche à identifier un utilisateur d'active directory depuis un programme visual basic.J'arrive à afficher la liste des utilisateurs de mon a creation de compte sur active directory [ par bolos ] je suis en train d'ecrire des script d'automatisation pour la creation de compte utilisateurs sous windows 2000 server et j'ai le probleme suivant:je creation et modification d'un compte dans Active Directory [ par mariuscesar ] salutje veux un code vb script permettant de créer et de modifier les comptes dans ADmerci Active Directory récupérer le nom d'utilisateur post Windows 2000 [ par Tuizi ] Bonjour,Voila j'arrive bien à récupérer le nom de mes utilisateurs Active Directorygrâce à la propriété Name des objet IADSUsers seulement c'est le no Vba - excel - Connection à l'active directory [ par salut tlm ] Salut les développeurs,Je cherche à ressortir en VBA des informations concernant les users stocké dans l'active directory. Et aussi la liste des users


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,028 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales