Vbscript : création d'utilisateur dans AD

Fermé
Lee - 7 janv. 2011 à 09:58
 Lee - 12 janv. 2011 à 09:56
Bonjour,

Je dois réaliser un script permettant d'ajouter des utilisateurs dans mon active directory. Le script fonctionne bien et mes utilisateurs apparaissent sans problème dans l'AD.
Mais je me trouve ensuite face a des problème d'administration tel que : impossibilité de leur attribuer des droits sur des fichier (via une commande cacls) sauf si ils sont dans un groupe, impossibilité d'ouvrir une session (problème de mot de passe)...

l'erreur se situe au niveau du ObjUser.SetInfo ligne 45. (je l'ai mise en gras)

Voici mon code :


'-------------------------
'Déclaration des variables
'-------------------------
Dim nom, prenom, ville, mail, login, mdp, liste
Dim ObjExcel, ObjWscript, ObjWorkB, ObjActiveSheet, i, oFSO, oFld
liste=""
'--------------------------
'Ouverture du fichier excel
'--------------------------

set ObjExcel=createobject("Excel.Application")
set ObjWscript=createobject("Wscript.shell")
set ObjWorkB=ObjExcel.workbooks.open(ObjWscript.currentdirectory & "\BddScript.xls")
set ObjActiveSheet=ObjWorkB.activesheet

'-----------------------------------------------------------
'Extraction des données du fichier excel et mise en variable
'-----------------------------------------------------------
i = 1
Do until ObjExcel.cells(i,1).value = ""

nom = ObjExcel.cells(i,1).value
prenom = ObjExcel.cells(i,2).value
ville = ObjExcel.cells(i,3).value
mail = ObjExcel.cells(i,4).value
login = ObjExcel.cells(i,5).value
mdp = ObjExcel.cells(i,6).value

'-------------------------------
'Ouverture de l'Active directory
'-------------------------------
Set objDomain = GetObject("LDAP://dc=domaine-stage,dc=fr")
Set objCN = GetObject("LDAP://CN=Users, dc=domaine-stage,dc=fr")

'-------------------------
'Assignation des variables
'-------------------------

Set objUser = objCN.Create("User", "cn= " & nom & "")
objUser.Put "sAMAccountName", login
objUser.Put "sn", nom
objUser.Put "givenName", prenom
objUser.Put "mail", mail
objUser.Put "l", ville
ligne 45 objUser.SetInfo

Set objUser = GetObject("LDAP://cn=" & nom & ",CN=Users, dc=domaine-stage,dc=fr")
objUser.SetPassword mdp

'----------------------------------------------------
'Ajout de l'utilisateur au groupe lui correspondant
'----------------------------------------------------


Set objGroup = GetObject("LDAP://CN=Stagiaire, CN=Users, dc=domaine-stage, dc=fr")
objGroup.Add (objUser.ADsPath)


'----------------------------------
'Création du répertoire utilisateur
'----------------------------------

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFld = oFSO.CreateFolder ("D:\Etudiant\" & nom & "")

'-----------------------------------------
'Attribution des droits sur le répertoire
'-----------------------------------------

Cscript_Path = "C:\WINDOWS\system32\cscript.exe"
xcacls_vbs = "C:\xcacls.vbs"

Ma_cmd = "%ComSpec% /c"
Ma_Cmd = Ma_Cmd & Cscript_Path & " " & xcacls_vbs

Ma_Cmd = Ma_Cmd & " D:\Etudiant\"& nom &" /E /G Stagiaire:R"
Set oShell = WScript.CreateObject ("WSCript.shell" )
oShell.run(Ma_cmd)
Set oShell = Nothing


'--------------------
'Activation du compte
'--------------------

Set objUser = GetObject("LDAP://cn=" & nom & ", CN=Users, dc=domaine-stage,dc=fr")
objUser.AccountDisabled = FALSE
objUser.SetInfo

liste = liste + nom & ", "
i = i+1

Loop

MsgBox "Les utilisateurs " & liste & " ont été créés et activés."





Quelqu'un a-t-il une solution ?

1 réponse

un ptit up svp
0