Obtenir l’access au carnet d’adresses global de Outlook Exchange

Je suis en train de construire une application csharp et j’aimerais une liste déroulante de tous les utilisateurs de mon carnet d’adresses global Outlook (le même lorsque je clique sur le lien À: à partir de Outlook. Est-il possible d’obtenir ce programme? Quelles sont les exigences de sécurité ici ?

Les ramifications de sécurité, en plus de la dépendance à Outlook, m’ont empêché d’utiliser cette approche, par le passé. En conséquence, j’ai fini par construire cela sous la forme d’une requête LDAP . Un autre avantage est que, en réponse à votre autre question, vous pourrez extraire les informations de contact car ces informations sont stockées dans Active Directory.

AVERTISSEMENT: Cela fait presque cinq ans que je regarde ce code, j’ai bien peur de ne plus comprendre la requête. Espérons que cela suffira pour vous aider à démarrer, cependant.

DirectoryEntry adFolderObject = new DirectoryEntry(); DirectorySearcher adSearcher = new DirectorySearcher(adFolderObject); adSearcher.SearchScope = SearchScope.Subtree; adSearcher.Filter = "(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(!(homeMDB=*))(!(msExchHomeServerName=*)))(&(objectCategory=person)(objectClass=user)(|(homeMDB=*)(msExchHomeServerName=*))) ))"; foreach (SearchResult adObject in adSearcher.FindAll()) { Console.WriteLine("CN={0}, Path={1}", adObject.Properties["CN"][0], adObject.Path); }