SCRIPT AD VBS avec Excel
Fermé
Kristo91
Messages postés
3
Date d'inscription
dimanche 24 mai 2009
Statut
Membre
Dernière intervention
24 mai 2009
-
24 mai 2009 à 21:02
Praetorien - 26 mai 2009 à 16:12
Praetorien - 26 mai 2009 à 16:12
A voir également:
- SCRIPT AD VBS avec Excel
- Script vidéo youtube - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
1 réponse
salut!
Voila je ne sais pas si je vais pouvoir t'aider un peu,mais avec ce script,les users sont importer dans AD,le seul soucie,c'est que le mot passe n'est apparement pas valider.D'un poste client,je n'arrive pas a ouvrir une session.Il y a certe sur les forum des reponses pour entrer un mot de passe et utiliser les strategies"l'utilisateur ne peux pas changer de mot de passe,et le mot de passe n'expire jamais",mais ce n'est que pour un User,alors que la ca concerne plusieurs users(1500 pour le moment sur un fichier excel)Les solutions que j'ai trouvé son viable pour le premier utilisateur,mais la ligne suivante,"boum" ca bloque"
Donc si quelqu'un avait une reponse,ce serait tres serviable de votre part!
'========================================================================
' 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, objOU, 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( "c:\liste_etu_902.xls")
set oexws = oexwk.activesheet
'========================================================================
' Boucle d'extraction des données Excel ligne par ligne [~détail~]
'========================================================================
i = 2
Do until oexapp.cells(i,16).value = ""
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Assignation de chaque colonne Excel dans une variable
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nom = oexapp.cells(i,1).value
prenom = oexapp.cells(i,2).value
ville = oexapp.cells(i,3).value
mdp = oexapp.cells(i,4).value
bureau = oexapp.cells(i,10).value
loggin = oexapp.cells(i,15).value
messagerie = oexapp.cells(i,16).value
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Choix du domaine et du conteneur d'Active Directory
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set objDomain = GetObject("LDAP://OU=groupe,dc=monserveur,dc=com")
Set objCN = GetObject("LDAP://OU=groupe, dc=monserveur,dc=com")
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' 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 & " " & Prenom)
objUser.Put "UserPrincipalName", loggin
objUser.Put "sn", nom
objUser.Put "givenName", prenom
objUser.Put "Name", Nom & " " & Prenom
objUser.Put "displayName", Nom & " " & Prenom
objUser.Put "physicalDeliveryOfficeName", bureau
objUser.Put "mail", messagerie
objUser.Put "l", ville
objUser.SetInfo
Set objUser = GetObject("LDAP://OU=groupe,dc=monserveur,dc=com")
objUser.SetPassword mdp
objUser.SetInfo
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Placement de l'utilisateur dans le groupe "Utilisa. du domaine"
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set objCN = GetObject("LDAP://OU=groupe,dc=monserveur,dc=com")
Set objGroup = GetObject("LDAP://OU=groupe, dc=monserveur, dc=com")
objGroup.Put "UserPrincipalName", "groupe"
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Activation du compte
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set objUser = GetObject("LDAP://cn=" & nom & " " & prenom & ", OU=groupe, dc=monserveur, dc=com")
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."
Voila je ne sais pas si je vais pouvoir t'aider un peu,mais avec ce script,les users sont importer dans AD,le seul soucie,c'est que le mot passe n'est apparement pas valider.D'un poste client,je n'arrive pas a ouvrir une session.Il y a certe sur les forum des reponses pour entrer un mot de passe et utiliser les strategies"l'utilisateur ne peux pas changer de mot de passe,et le mot de passe n'expire jamais",mais ce n'est que pour un User,alors que la ca concerne plusieurs users(1500 pour le moment sur un fichier excel)Les solutions que j'ai trouvé son viable pour le premier utilisateur,mais la ligne suivante,"boum" ca bloque"
Donc si quelqu'un avait une reponse,ce serait tres serviable de votre part!
'========================================================================
' 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, objOU, 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( "c:\liste_etu_902.xls")
set oexws = oexwk.activesheet
'========================================================================
' Boucle d'extraction des données Excel ligne par ligne [~détail~]
'========================================================================
i = 2
Do until oexapp.cells(i,16).value = ""
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Assignation de chaque colonne Excel dans une variable
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nom = oexapp.cells(i,1).value
prenom = oexapp.cells(i,2).value
ville = oexapp.cells(i,3).value
mdp = oexapp.cells(i,4).value
bureau = oexapp.cells(i,10).value
loggin = oexapp.cells(i,15).value
messagerie = oexapp.cells(i,16).value
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Choix du domaine et du conteneur d'Active Directory
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set objDomain = GetObject("LDAP://OU=groupe,dc=monserveur,dc=com")
Set objCN = GetObject("LDAP://OU=groupe, dc=monserveur,dc=com")
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' 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 & " " & Prenom)
objUser.Put "UserPrincipalName", loggin
objUser.Put "sn", nom
objUser.Put "givenName", prenom
objUser.Put "Name", Nom & " " & Prenom
objUser.Put "displayName", Nom & " " & Prenom
objUser.Put "physicalDeliveryOfficeName", bureau
objUser.Put "mail", messagerie
objUser.Put "l", ville
objUser.SetInfo
Set objUser = GetObject("LDAP://OU=groupe,dc=monserveur,dc=com")
objUser.SetPassword mdp
objUser.SetInfo
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Placement de l'utilisateur dans le groupe "Utilisa. du domaine"
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set objCN = GetObject("LDAP://OU=groupe,dc=monserveur,dc=com")
Set objGroup = GetObject("LDAP://OU=groupe, dc=monserveur, dc=com")
objGroup.Put "UserPrincipalName", "groupe"
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Activation du compte
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set objUser = GetObject("LDAP://cn=" & nom & " " & prenom & ", OU=groupe, dc=monserveur, dc=com")
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."