Recuperer Mail, Active Directory
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:
Code:
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;
} |
Merci de m'aider....
Cordialement,
Arnaud.[/quote]