Bonjour à tous,
Je souhaite (en C++) pouvoir récuperer les mails des utilisateurs de mon Active Directory.
J'utilise la méthode, get_EmailAddress. (Lien MSDN : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/iadsuser_property_methods.asp )
Mais cela ne fonctionne pas!
J'arrive a recuperer certaines valeurs, Nom Affiché, Description, Initiales, etc... Mais pas d'autres, comme Fax, Telephone, et MAIL !!!!
Quand je recupere le mail, j'ai l'erreur: "-2147463155 (8000500d)" (Lien MSDN: http://support.microsoft.com/?scid=kb%3Ben-us%3B243440&x=19&y=12)
Alors que mon champ mail est bien rempli.
Voici mon code:
Merci de m'aider....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 // Link with Activeds.lib and Adsiid.lib files. #include <stdio.h> #include <activeds.h> #include <comdef.h> #include <Iads.h> #include <Adshlp.h> #include <atlbase.h> int main(int argc, char* argv[]) { IADs *pADs = NULL; IADsUser *pADsUser = NULL; IADsClass *pCls = NULL; CComBSTR sbstr; IADsUser *pUser; BSTR bstr; // initialize COM HRESULT hr = CoInitialize(NULL); if (hr != S_OK) { return 0; } hr = ADsGetObject(L"WinNT://*NomServeur*/*NomUtilisateurActiveDirectory*",IID_IADsUser,(void**)&pUser); hr = pUser->get_FullName(&bstr); printf("Nom Affiche: %S\n", bstr); hr = pUser->get_GUID(&bstr); printf("GUID: %S\n", bstr); hr = pUser->get_EmailAddress(&bstr); printf("Mail: %S\n", bstr); system("pause"); return 0; }
Cordialement,
Arnaud.[/quote]
Partager