[RESOLU] l'exploration d'une base Openldap en vbscript

l'exploration d'une base Openldap en vbscript [RESOLU] - VB/VBA/VBS - Programmation

Marsh Posté le 22-09-2015 à 21:02:39    

Bonjour,
 
Je souhaite exploiter une base openldap via vbscript,
 
c'est à dire:
 
- apliquer un filtre ldap, pour reduire la popultaion
- Naviger parmi user resultant du filtre pour rapatrier certain attribut, dont ceux "multi-value".
 
avez des ressource pour cela
 
en vous remerciant !


Message édité par exmachina le 23-09-2015 à 20:56:42
Reply

Marsh Posté le 22-09-2015 à 21:02:39   

Reply

Marsh Posté le 23-09-2015 à 20:56:00    

Bonsoir,  
 
j'ai finalement trouvé comme un grand :  
ci dessous le code ultime pour explorer une base OPEN LDAP (filtre ldap, lecture des simple value, et des multivalues)
 
 
ATTENTION !  
 il s'agit d'un patchwork de code issue du net et un peu de codage personnel , du coup les variables n'ont pas forcement des noms représentatifs
 
 
 

Code :
  1. Set dso = GetObject("LDAP:" ) 'for accessing via LDAP
  2. Set ado = CreateObject("ADODB.Connection" ) 'creation of the ADO connection
  3. ado.Provider = "ADSDSOObject"
  4. ado.Properties("User ID" ) = "cn=comptadmin,dc=mondomaine,dc=fr"
  5. ado.Properties("Password" ) = "motdepasse"
  6. ado.Properties("Encrypt Password" ) = False
  7. ado.Open "EX55-Anon-Search" 'this is a arbitrarily chosen name
  8. 'replace the own server name here
  9. filterStr = "(&(objectClass=inetOrgPerson))"
  10. Set cmo = CreateObject("ADODB.Command" ) 'Creation of the ADO connection
  11. cmo.ActiveConnection = ado
  12. cmo.CommandText = "<LDAP://monserveur/ou=people,dc=mondomaine,dc=fr>;"& filterStr & "sn,givenName;subtree"
  13. Set objRS = cmo.Execute 'processing the search
  14. Do Until objRS.EOF
  15. nom=champ("sn" )
  16. prenom=champ("givenName" )
  17. wscript.echo nom+" "+prenom
  18.   objRS.MoveNext
  19. Loop
  20. Function champ(strchmp)
  21. result = ""
  22. element=""
  23. If Not (IsNull(objRS.Fields(strchmp).Value)) then
  24. if (IsArray(objRS.Fields(strchmp).Value)) then
  25. For each element in objRS.Fields(strchmp).Value
  26. if (result <> "" ) then
  27. result = result+" | "+element
  28. else
  29. result=element
  30. end if
  31. Next
  32. else
  33. result=objRS.Fields(strchmp).Value
  34. end if
  35. End If
  36. champ=result
  37. End Function


Message édité par exmachina le 23-09-2015 à 21:01:02
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed