Creation de compte exchange 2003

cs_Blorf78 Messages postés 6 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 28 avril 2011 - 19 janv. 2009 à 15:23
vikingraver Messages postés 1 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 20 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
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

call CreaCompte(login, nom, prenom, pays, agence)
call RattachementGr (login)
i = i+1
Loop

'==================================================================================
' 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
   
'=========================================================================================================
' Config EXchange
'=========================================================================================================
   
  
    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)        
        
        objIADSUser.Put "mailnickname","mailnickname" &login
    ObjAdsUser.SetInfo

'==========================================================================================================
' 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  

1 réponse

vikingraver Messages postés 1 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 20 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.

Vikingraver
0
Rejoignez-nous