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
| 'Détail du fichier XLS :
' nom; prenom; new_login; serv_homedir
On Error Resume Next
' Nom du fichier source.
liste="\\serveur\Scripts\Test\user.xls"
' Repertoire de logs
logDir="\\serveur\Scripts\Test\Logs\"
' ouverture du fichier Excel
Set objShell = WScript.CreateObject("WScript.shell")
Set objExcel = CreateObject("Excel.Application")
Set objSpread = objExcel.Workbooks.Open(liste)
' OU concerne
OU = "OU=OU_TEST, DC=fr"
' Boucle
ligne = 2
Do Until objExcel.cells(ligne, 1).value=""
'Declaration variables depuis le fichier Excel
nom = Trim(objExcel.cells(ligne, 1).value)
prenom = Trim(objExcel.cells(ligne, 2).value)
ADLogin = Trim(objExcel.cells(ligne, 3).value)
ADHomeServ = Trim(objExcel.cells(ligne, 4).value)
'Variables annexes
ADInitials = Left(Trim(prenom),1)+Left(Trim(nom),1)
ADDisplayName =nom+", "+prenom+" "+ADInitials
ADCommonName = nom+"\, "+prenom+" "+ADInitials
ADHomeDrive = "P"
ADHomedir = ADHomeServ+ADLogin+"$"
' Creation dans l'AD
Set objOU = GetObject ("LDAP://"&OU&"")
Set objUser = objOU.Create("User", "cn="&ADCommonName&"")
objUser.put "givenName", prenom
objUser.put "sn", nom
objUser.put "initials", ADInitials
objUser.put "displayName", ADDisplayName
objUser.put "UserPrincipalName", ADLogin
objUser.put "SAMAccountName", ADLogin
objUser.put "description", "cree par script le "&Date&" "&Time&"."
objUser.put "homedrive", ADHomeDrive
objUser.put "homedirectory", ADHomedir
objUser.setInfo
'pour voir le code erreur
'MsgBox "Erreur num "&err.number
If err.number <> 0 Then
Set fsoErr = CreateObject("Scripting.FileSystemObject")
Set LogErr = fsoErr.CreateTextFile(logDir&""&nom&"_"&prenom&".err", True)
LogErr.WriteLine("Date erreur : "&Date&" a "&Time& ".")
LogErr.WriteLine("Compte "&ADDisplayName&" existe deja")
LogErr.Close
Else
Set fsoLog = CreateObject("Scripting.FileSystemObject")
Set LogFile = fsoLog.CreateTextFile(logDir&""&nom&"_"&prenom&".log", True)
LogFile.WriteLine("Date Operation : "&Date&" a "&Time& ".")
LogFile.WriteLine("Compte "&ADDisplayName&" OK avec un login "&ADLogin&"")
LogFile.WriteLine("Share homedir : "&ADHomedir&".")
LogFile.Close
objUser.SetPassword "Password01"
objUser.Put "PwdLastSet", 0
objUser.AccountDisabled = False
objUser.setInfo
End If
err.number=0
ligne=ligne+1
Loop
MsgBox "FIN"
objExcel.Quit
WScript.Quit
'======================================================'
' FIN DU SCRIPT - FIN DU SCRIPT
'======================================================' |
Partager