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
Bonjour,

Je suis acctuellement en train de faire un script vbs pour créer des utilisateurs à partir d'un fichier Excel.
Cependant j'ai un probleme avec la fonction objUser.SetPassword. Je souhaite que ce champ soit rempli par une valeur qui est dans mon tableau Excel. Mais j'obtiens l'erreur suivante : "Cet objet ne gère pas cette propriété ou cette methode : 'objUser.SetPassword' avec le code "800A01B6"

Voici une partie de mon code :

[...]
objUser.GivenName = objExcel.Cells (intRow, 3).Value
objUser.SN = objExcel.Cells (intRow, 4).Value
objUser.SetPassword = objExcel.Cells (intRow, 5).Value <---------- l'erreur est ici
objUser.SetInfo
[...]

Avez vous une soluction??

Merci d'avance
A voir également:

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."
2