' Auteur: Thierry DEMAN (BY THE WAY) ' ------------------------------------------------------------------------------------------------------------- ' Fonctionnement: Exportation d'une liste de champs choisis ' ------------------------------------------------------------------------------------------------------------- '************************** VARIABLES SYSTEMES ************************** Dim user, computer Dim u,v,w Dim oRootDSE,strDomainNC Dim oConnection,oRecordset ' ------------------------------------- DEBUT DE PROGRAMME ------------------------------------------- ' Recherche du domaine Active Directory courant, on peut aussi forcer la valeur ! Set oRootDSE = GetObject("LDAP://RootDSE") strDomainNC = oRootDSE.Get("defaultNamingContext") ' Affichage facultative du domaine déterminé msgbox(StrDomainNC) ' Connexion de type base de donnée à Active Directory Set oConnection = CreateObject("ADODB.Connection") oConnection.Provider = "ADsDSOObject" oConnection.Open "ADs Provider" ' Définition de la recherche principale ' Tous les utilisateurs et tous les contacts, dans tous les niveaux de l’arborescence. Set oRecordset = oConnection.Execute(";(&(objectCategory=user)(objectCategory=contact));name,displayname,mail,telephonenumber;subtree") ' Boucle sur les enregistrements. If Not oRecordset.EOF Then While Not oRecordset.EOF ' Attention les champs vides (Null) ne peuvent pas être concaténés en chaine de caractères ' Il faut donc les vérifier Name=VerifyNull(oRecordset.Fields("Name")) DisplayName=VerifyNull(oRecordset.Fields("DisplayName")) Mail=VerifyNull(oRecordset.Fields("Mail")) Telephonenumber=VerifyNull(oRecordset.Fields("telephonenumber")) Wscript.echo Name+","+Displayname+","+mail+","+TelephoneNumber oRecordset.movenext Wend End If wscript.quit ' ********* FIN DE PROGRAMME *********** ' Fonctions... Function VerifyNull(field) IF not (isnull(Field)) Then VerifyNull=Field Else VerifyNull="" End IF End Function