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
| 'Déclaration des variables
Dim strScope As String, strAttrs As String, strFilter As String, strBase As String, strDomainDN As String, strPath As String
Dim LDAP As String, group As String, login As String, nom As String, mbrf As String
Dim prenom As String, validite As String, expi As String, org As String
Dim tvar() As String
Dim sql As String
Dim mabd As Database
Dim objconn As Object, objRS As Object, objuser As Object
Dim member As Variant
Dim i As Integer
Set mabd = CurrentDb() 'mabd est la base de donnée dans laquel on travaille
strDomainDN = "mon domaine"
strBase = "<LDAP://" & strDomainDN & ">;" 'Définition de l'objet
strFilter = "(&(objectclass=user)(objectcategory=person));" 'Filtre le jeu d'enregistrement afin de garder que les utilisateurs dans l'objet AD
strAttrs = "distinguishedname;" 'Correspond à l'attribut de l'objet que l'on va regarder
strScope = "subtree" 'On pourra rechercher les utilisateurs dans l'arborescence
i = 1
'Connection à la base
Set objconn = CreateObject("ADODB.Connection") 'Création d'un objet pour la connexion
objconn.Provider = "ADsDSOObject" 'Définition du pilote de connexion
objconn.Open "Active Directory Provider" 'Ouverture de la base
'Validation de la connexion
Set objRS = objconn.Execute(strBase & strFilter & strAttrs & strPath & strScope)
objRS.MoveFirst 'Requête d'action sur la recherche.
'Suppression des données existante dans la base.
sql = "DELETE * FROM TP_Utilisateur_importer"
DoCmd.SetWarnings False
DoCmd.RunSQL sql
DoCmd.SetWarnings True
Do Until objRS.EOF
LDAP = (objRS.Fields(0).Value) 'Obtient le lien LDAP de l'objet trouver
Set objuser = GetObject("LDAP://" & LDAP & "")
Traitement...
Loop
mabd.Close
Set objRS = Nothing
Set objconn = Nothing
End Sub |
Partager