Recuperer l'email d'un user sur ADSI depuis VBA

Recuperer l'email d'un user sur ADSI depuis VBA - VB/VBA/VBS - Programmation

Marsh Posté le 01-12-2009 à 23:13:05    

Hello
 
Je cherche a recuperer l'email d'un user ADSI depuis VBA.
 
En gros, j'ai une macro XL, depuis laquelle je veux consulter AD pou recuperer l'adresse email de l'utilisateur windows logge sur le poste.
 
Je trouve bien quelques trucs sur le net, mais ca me semble emminement complique pour une requete aussi simple. Notamment, il faut fournir le nom de serveur AD, plus quelques autres parametres un peu obscurs pour moi.
 
J'aurais tendance a penser que Windows a quelque part en BDR les parametres AD, et que je pourrais exploiter ca.
 
Mais surtout, comment recuperer l'info depuis AD?
 
Merci d'avance!


---------------
Autonomie, Excellence, But
Reply

Marsh Posté le 01-12-2009 à 23:13:05   

Reply

Marsh Posté le 01-12-2009 à 23:24:21    

Bon ben en grattant un peu et avec l'aide de collegues, la solution est la:
 

Code :
  1. Private Sub main2()
  2. Dim rootDSE, DomainContainer
  3. Set rootDSE = GetObject("LDAP://RootDSE" )
  4. DomainContainer = rootDSE.get("defaultNamingContext" )
  5. strUser = Environ$("Username" )
  6. strLDAP = "<LDAP://" & DomainContainer & ">;(samAccountName=" & strUser & " );adspath;subtree"
  7. Dim conn
  8.     Set conn = CreateObject("ADODB.Connection" )
  9.     conn.Provider = "ADSDSOObject"
  10.     conn.Open "ADs Provider"
  11.     Dim RS, oUser
  12.     Set RS = conn.Execute(strLDAP)
  13. If RS.EOF Then
  14.         WScript.Echo "User " & strUser & " not found"
  15.     Else
  16.         Set oUser = GetObject(RS.Fields(0).Value)
  17. End If
  18. MsgBox oUser.get("mail" )
  19. End Sub


---------------
Autonomie, Excellence, But
Reply

Sujets relatifs:

Leave a Replay

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