1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
| '========================================================================
' 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 & "\comptes_vacataires_1.xls")
set oexws = oexwk.activesheet
'========================================================================
' Boucle d'extraction des données Excel ligne par ligne [~détail~]
'========================================================================
Const ADS_PROPERTY_APPEND = 3
i = 2
Do until oexapp.cells(i,1).value = ""
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Assignation de chaque colonne Excel dans une variable
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nom = oexapp.cells(i,1).value
prenom = oexapp.cells(i,2).value
dname = oexapp.cells(i,3).value
login = oexapp.cells(i,4).value
mdp = oexapp.cells(i,5).value
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Choix du domaine et du conteneur d'Active Directory
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set objDomain = GetObject("LDAP://DC=ult,DC=lan")
Set objCN = GetObject("LDAP://CN=Users,DC=ult,DC=lan")
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' 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= " & dname & "")
objUser.Put "sAMAccountName", cstr(login)
objUser.Put "sn", cstr(nom)
objUser.Put "givenName", cstr(prenom)
objUser.Put "distinguishedName", cstr(dname)
objUser.Put "userPrincipalName", cstr(login) & "@ult.lan"
objUser.SetInfo
Set objUser = GetObject("LDAP://cn=" & dname & ",CN=Users,DC=ult,DC=lan")
objUser.SetPassword mdp
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Placement de l'utilisateur dans le groupe "Utilisa. du domaine"
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set objCN = GetObject("LDAP://CN=Users, DC=ult,DC=lan")
Set objGroup = GetObject("LDAP://CN=Utilisa. du domaine, CN=Users, DC=ult,DC=lan")
objGroup.Put "sAMAccountName", "Utilisa. du domaine"
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Activation du compte
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set objUser = GetObject("LDAP://cn=" & dname & ", CN=Users, DC=ult,DC=lan")
objUser.AccountDisabled = FALSE
objUser.SetInfo
Set objGroup1 = GetObject("LDAP://CN=VACATAIRES ENSEIGNANTS,CN=Users,DC=ult,DC=lan")
objGroup1.PutEx ADS_PROPERTY_APPEND, "member", Array("cn=" & cstr(dname) & ", CN=Users, DC=ult,DC=lan")
objGroup1.SetInfo
liste = liste + dname & ", "
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." |
Partager