cs_Blorf78
Messages postés6Date d'inscriptionvendredi 16 janvier 2009StatutMembreDernière intervention28 avril 2011
-
19 janv. 2009 à 15:23
vikingraver
Messages postés1Date d'inscriptionvendredi 2 mai 2008StatutMembreDernière intervention20 octobre 2013
-
4 févr. 2009 à 17:26
bonjour je cherche a créé un script d'automatisation des créations de compte utilisateurs en VBscript. le systeme d'exploitation du serveur en place est windows server 2003
mon script arrive a créé les comptes utilisateur dans l'active directory mai je n'arrive pa apres plusieur jour d'effort a créé le compte mail sous exchange 2003 . j'ai mis en comment l'erreur annoncer par le debugger just en dessous du la ligne qui pose probleme. Merci d'avance
voici mon script :
' script creation de compte utilisateur
'variable
dim nom, prenom, login, pays, annee, etablissement, secteur
dim Objwshshell, ObjConExcel, ObjP, ObjAccXls, ObjDC, ObjConptUser
Dim msgERREUR
Dim pwd
Dim objGR, chUSER, chGroupe1, cheminUser, chGroupe2, chGroupe3 'def sub rattachement groupe
'========================================================================
' Accès au fichier Excel contenant les données des utilisateurs a créer'set ObjConExcel createobject("Excel.Application") ''wscript.createobject(...
set Objwshshell = createobject("wscript.shell") '' ...
ObjConExcel.visible = false
set ObjAccXls = ObjConExcel.workbooks.open("C:\FichierCompteBase.xls") 'ouverture du fichier xls des compte a verif mais g oublier de fermer la co a excel ligne a rajouter
set ObjP = ObjAccXls.activesheet
'========================================================================
' Boucle d'extraction des données Excel ligne par ligne'i 2
Do until ObjConExcel.cells(i,1).value = ""
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Assignation de chaque colonne Excel dans une variable
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nom = ObjConExcel.cells(i,1).value
prenom = ObjConExcel.cells(i,2).value
login = left(prenom, 1) + nom
pays = ObjConExcel.cells(i,3).value
agence = ObjConExcel.cells(i,4).value
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Choix du domaine
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'==================================================================================
' Procédure de creation des comptes a partir des renseignement recupere dans le xls
'==================================================================================
Sub CreaCompte(log, n, p, pi, ville) 'login, nom, prenom, pays, agence, dccom,
pwd = toto
'Set ObjDC = GetObject("LDAP://RootDSE") 'DC=nmuguet,DC=com
Set ObjComptUser = GetObject("LDAP://OU=" & ville & ",OU=Agences" & ",OU=" & pi & ",OU=Users ,OU=MyBusiness ,DC=xxxxx ,DC=local")
Set ObjAdsUser = ObjComptUser.Create("user","CN=" & log)
ObjAdsUser.Put "sAMAccountName", log
ObjAdsUser.Put "userPrincipalName", left(prenom, 1) + nom
ObjAdsUser.Put "givenname", cstr(prenom)
ObjAdsUser.Put "displayName", prenom & nom
ObjAdsUser.Put "sn", cstr(nom)
ObjAdsUser.Put "Description", "utilisateur créé automatiquement"
ObjAdsUser.SetInfo
If Err.Number<>0 Then
'msgERREUR = "ERREUR : Impossible de créer l'utilisateur dans l'active Directory"
Else
'-> Dans un 2ème temps (une fois l'objet réellement créé), on peut :
' - initialiser le mot de passe (identique au login)
' - préciser que le compte n'est pas désactivé
ObjAdsUser.SetPassword cstr(pwd) 'definition d'une mot de passe
ObjAdsUser.Put "pwdLastSet", 0 '=> l'utilisateur doit changer son mot de passe
ObjAdsUser.SetInfo
ObjAdsUser.AccountDisabled = False
ObjAdsUser.SetInfo
Set objMailbox = ObjAdsUser
'CN=BTESTBB ,
objMailbox.CreateMailbox "LDAP://homeMDB=CN=Banque de boîtes aux lettres (XXX-EXCHANGE01) ,CN=FRANCE ,CN=InformationStore ,CN=XXXX-EXCHANGE01 ,CN=Server ,CN=premier groupe d'administration ,CN=Administrative Groups ,CN=XXXXX,CN=Microsoft Exchange,CN=Services ,CN=Configuration ,DC=XXXXXX ,DC=local"
'erreur ligne superieur :argument non valide
'id de l'erreur : c103071f microsoft CDO pour la gestion d'exchange code : 80070057
Source: (null)
'==========================================================================================================
' Fin Config EXchange
'==========================================================================================================
If Err.Number<>0 Then
msgERREUR = "ERREUR : Impossible de terminer la mise à jour de l'active Directory"
End If
End if
If msgERREUR<>"" Then
MsgBox msgERREUR
CreeUser = "ERREUR"
Else
CreeUser = "OK"
End if
End sub
'==========================================================================================================
' Procédure de rattachement des comptes au groupe associer a partir des renseignement recupere dans le xls
'==========================================================================================================
Sub RattachementGr (chUser)
'Le nom du groupe et de l'utilisateur sont définis ici
'( les faire saisir ?)
chGroupe1="XXXXX"
chGroupe2="XXXX"
chGroupe3="XXXXX"
chUser="BTESTBB"
'En cas d'erreur le script poursuit son exécution
'(On teste s'il y a eu une erreur après chaque exécution critique)
On Error Resume Next
'Je récupère l'objet groupe auquel je veux rattachet l'utilisateur
Set objGR = GetObject("LDAP://CN=" & chGroupe1 & ",OU=Distribution Groups,OU=MyBusiness,DC=XXXX,DC=Local")'groupe XXXX
if err.Number<>0 Then
WScript.Echo "Erreur : Groupe non trouvé"
else
cheminUser="LDAP://CN=" & chUser & ",OU=XXXXX ,OU=Agences ,OU=Fr ,OU=Users ,OU=MyBusiness ,DC=XXXXX ,DC=local"
objGR.Add cheminUser
if err.Number<>0 Then
WScript.Echo "Erreur : L'ajout n'a pas pu se faire"
End if
End if
Set objGR = GetObject("LDAP://CN=" & chGroupe2 & ",OU=Distribution Groups,OU=MyBusiness,DC=XXXXX,DC=Local")'groupe XXXXX
if err.Number<>0 Then
WScript.Echo "Erreur : Groupe non trouvé"
else
cheminUser="LDAP://CN=" & chUser & ",OU=XXXX,OU=Agences ,OU=Fr ,OU=Users ,OU=MyBusiness ,DC=XXXXX ,DC=local"
objGR.Add cheminUser
if err.Number<>0 Then
WScript.Echo "Erreur : L'ajout n'a pas pu se faire"
End if
End if
Set objGR = GetObject("LDAP://CN=" & chGroupe3 & ",OU=XX ,OU=Agences,OU=Fr,OU=Users,OU=MyBusiness,DC=XXXXX,DC=Local")'groupe XX
'Si çà se passe mal, un code erreur renvoyé
'(à priori l'objet n'a pas été trouvé)
if err.Number<>0 Then
WScript.Echo "Erreur : Groupe non trouvé"
else
'Construction du "chemin" de l'utilisateur à affecter au groupe
cheminUser="LDAP://CN=" & chUser & ",OU=XXX ,OU=Agences ,OU=Fr ,OU=Users ,OU=MyBusiness ,DC=XXXXX ,DC=local"
'On pourrait tester également que l'utilisateur existe
'Ici on tente directement d'ajouter l'utilisateur au groupe
objGR.Add cheminUser
if err.Number<>0 Then
WScript.Echo "Erreur : L'ajout n'a pas pu se faire"
else
WScript.Echo "L'ajout a été réalisé sans Erreur"
End if
End if
End Sub
J'espere que quelqu'un pourra m'aider merci bcp d'avance a ceux qui lirons se post
Blorf
vikingraver
Messages postés1Date d'inscriptionvendredi 2 mai 2008StatutMembreDernière intervention20 octobre 2013 4 févr. 2009 à 17:26
Salut, j'ai lememe soucis que toi avec Exchange 2000 et Windows serveur 2003.
Aucun probleme pour creer un utilisateur AD mais impossible de configurer sa messagerie.