[vbs][active directory] Gestion des erreurs en cas de doublons à la création d'1 user
Bonjour,
je voudrais savoir s'il existe une gestion d'erreur - qui soit paramétable - lors de la création d'un utilisateur dans Active Directory.
je m'explique : j'ai un fichier ou sont remplis nom, prenom et autres champs divers. je créé un nouvel utilsateur à partir de ces champs, mais si cet utilisateur existe déjà, le programme sort avec le message "L'objet existe déjà"
si mon programme rencontre déjà un objet identique, j'aimerais pouvoir le marquer dans un fichier de logs ou un msgbox.
avez-vous une idée?
ci-dessous, mon code.
Code:
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
| ' Fichier XLS :
' nom; prenom; new_login; serv_homedir
liste="\\serveur\Scripts\Test\testmodifuser.xls"
logfile="\\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(nom),1)+Left(Trim(prenom),1)
ADDisplayName =nom+", "+prenom+" "+ADInitials
ADCommonName = nom+"\, "+prenom+" "+ADInitials+"1"
ADHomeDrive = "P"
ADHomedir = ADHomeServ+ADLogin+"$"
'Creation de l'utilisateur dans AD avec les variables definies.
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&""
objUser.put "homedrive", ADHomeDrive
objUser.put "homedirectory", ADHomedir
objUser.setInfo
' erreur a recuperer
if errorlevel <> 0 then msgbox "Existe deja"
' a suivre...
'Loop
MsgBox "FIN"
objExcel.Quit
WScript.Quit
'======================================================'
' FIN DU SCRIPT - FIN DU SCRIPT
'======================================================' |