Complément d’informations sur l’OAB avec Exchange 2003 et Exchange 2007 :

Salut à tous.

Qui n’a pas déjà rencontré des problèmes avec l’OAB quand il travaille sur un projet Exchange 2007.
Cet article a pour but de présenter le rôle de l’OAB et d’apporter des explications et des solutions sur les principaux problèmes que l’on rencontre avec l’OAB.

1. LE RÔLE DE L’OAB :
Tout d’abord, il faut savoir que OAB signifie Offline Address Book, soit en français carnet d’adresses hors connexion. Ce nom reflète mal le rôle de l’OAB dans une architecture Exchange.

A. Que contient l’AOB ?
Par défaut, l’OAB est configuré pour répliquer le contenu de la liste d’adresse globale mais il est possible de le configurer pour qu’il réplique juste le contenu de certaines listes d’adresses.

B. Qui utilise l’OAB ?
Tous les clients Outlook configurés avec Exchange en mode cache (paramétrage par défaut) !
En mode cache, l’OAB sert de liste d’adresses par défaut.
Si au niveau de vos clients Outlook, vous ne voyez pas certaines boîtes aux lettres, ne chercher pas plus loin, vous avez un problème d’OAB.
Désactiver temporairement le mode cache et toutes les entrées manquantes vont apparaître car vous utiliserez alors la liste d’adresse globale Exchange 2007 comme liste d’adresses par défaut.

C. Combien d’OAB puis je créer ?
Il est possible de créer plusieurs OAB au niveau d’Exchange 2007.

D. Où configure l’OAB sous Exchange 2007 ?
A deux endroits différents différents.
L’OAB est généré sur un serveur Exchange 2007 avec le rôle MAILBOX mais est distribué au client Outlook par les serveurs Exchange 2007 avec le rôle de CAS.

Génération de l’OAB :
L’OAB est généré sur un serveur Exchange 2007 avec le rôle MAILBOX (un seul serveur Exchange Mailbox joue ce rôle) dans le répertoire “ExchangeOAB” au niveau du répertoire d’installation d’Exchange 2007 (par défaut C:\Program Files\Microsoft\Exchange Server).
Il est généré une fois par jour (à 5h du matin) par défaut. Ce paramètre peut être reconfiguré. Le paramétrage par défaut est problématique car il faut parfois plus de 24 heures pour qu’une nouvelle boîte aux lettres apparaissent dans l’OAB. Nous verrons cela dans la partie 2 de cet article.
Pour configurer les paramètres de génération de l’OAB, aller dans la console console Exchange Management Console, puis dans Organization Configuration | Mailbox puis dans l’onglet Offline Address Book.

Distribution de l’OAB au client Outlook :
Le ou les serveurs Exchange 2007 avec le rôle de CAS réplique l’OAB via le service MSExchangeFDS depuis le serveur Exchange 2007 MAILBOX (celui qui a été configuré pour générer l’OAB). Par défaut, cette réplication se fait toutes les 480 minutes. Je vous préconise de réduire cette intervalle si vous voulez avoir un OAB à jour plus rapidement.
L’OAB est copié sur le serveur Exchange 2007 dans dans le dossier ClientAccess\OAB au niveau du répertoire d’installation d’Exchange 2007.
Ce répertoire est utilisé par le service web IIS du serveur Exchange 2007.
Remarque :
Pour forcer le téléchargement de l’OAB par un serveur CAS (depuis le serveur Mailbox), redémarrer le service MSExchangeFDS sur le serveur CAS.

E. Pourquoi plusieurs formats de l’OAB ?
Le format de l’OAB se configure au niveau de la console Exchange Management Console dans Organization Configuration | Mailbox puis dans l’onglet Offline Address Book.
Le format de l’OAB a évolué avec les versions du client Outlook.
Les formats suivants peuvent être activer avec Exchange 2007 :
– Version 2 : Outlook 98 et versions ultérieures
– Version 3 : Outlook 2003 et versions ultérieures
– Version 4 : Outlook 2003 SP2 versions ultérieures.
N’activer les formats V2 et V3 que si vous avez des clients antérieurs à Outlook 2003 SP2.
La version 4 de l’OAB permet par exemple de réduire et optimiser le téléchargement complet de l’OAB.
Pour plus d’informations sur les différentes versions de l’OAB :
http://technet.microsoft.com/en-us/library/aa996241(EXCHG.65).aspx

F. Comment l’OAB est il distributré :
Deux méthodes :
– Pour les clients Outlook 2003 et antérieurs : via les dossiers publics
– Pour les clients Outlook 2007 et ultérieurs : via un site web (webservice) hébergé sur le ou les serveurs Exchange 2007 jouant le rôle de CAS.  Un client Outlook 2007 et ultérieur va tout d’abord se connecter à l’URL de l’autodiscover sur le CAS (en HTTPS) puis va récupérer l’URL (HTTP par défaut) pour télécharger l’OAB depuis le CAS.
Le processus complet est très bien expliqué sur ce site :
http://laubel.wordpress.com/2009/04/15/exchange-2007-et-loab-principe-et-depannage/
On verra que le fait d’établir la connexion en HTTPS pour la connexion au service autodiscover d’Exchange est source de problème.

2. LES PROBLEMES QUE L’ON RENCONTRE AVEC L’OAB
J’ai rencontré de nombreux problèmes avec l’OAB sous Exchange 2007.

A. Les nouvelles boîtes aux lettres, contacts  n’apparaissent pas immédiatement au niveau des clients Outlook.
Explication :
Outlook est configuré en mode cache par défaut. Il utilise donc l’OAB comme liste d’adresse par défaut.
Solution :
Forcer la génération de l’OAB au niveau du serveur Exchange 2007 dans “Configuration de l’Organisation | Boîte aux lettres | Carnet d’adresses en mode hors connexion“, faire un clic droit sur l’OAB et cliquer sur Mettre à jour.

B. Certaines entrées n’apparaissent pas dans l’OAB ou apparaissent mal (pas d’adresse email)
On rencontre l’erreur suivante au niveau du serveur Exchange 2007 avec le rôle de MAILBOX (à chaque fois que l’OAB est généré).
Event Type: Warning
Event Source: MSExchangeSA
Event Category: OAL Generator
Event ID: 9327
Date:  16/09/2009
Time:  13:09:21
User:  N/A
Computer: EXCH1
Description:
OALGen skipped some entries in the offline address list ‘\Global Address List’.  To see which entries are affected, event logging for the OAL Generator must be set to at least medium.
– MSREPORT-OAB

Explication :
Ce problème se produit car certaines boîtes aux lettres, contacts ou groupes ont des attributs utilisés par Exchange avec des valeurs incorrectes. Cela peut se produire quand on crée des ressources Exchange via des scripts ou lorsque l’on fait des migrations.
Voir article Microsoft suivant :
http://technet.microsoft.com/fr-fr/library/bb123558(EXCHG.65).aspx

Solution :
Augmenter le niveau de logs au niveau du serveur Exchange 2007 Mailbox (celui qui génère l’OAB).
Pour cela, lancer l’Exchange Management Shell et taper la commande :
Set-EventLogLevel –Identity “MSExchangeSA\OAL Generator” –Level Medium
Forcer la génération de l’OAB au niveau du serveur Exchange 2007 Mailbox (celui qui génère l’OAB).
L’entrée ci dessous apparaît pour chaque ressource posant problème :
Event Type: Error
Event Source: MSExchangeSA
Event Category: OAL Generator
Event ID: 9325
Date:  16/09/2009
Time:  13:50:16
User:  N/A
Computer: EXCH1
Description:
OALGen will skip user entry ‘Guillaume MATHIEU’ in address list ‘\Global Address List’ because the SMTP address ‘’ is invalid.
– MSREPORT-OAB
Dans mon cas, le problème provenait du fait que certains attributs pour l’objet contact Guillaume MATHIEU étaient mal fomatés.
Pour plus d’informations, voir article :
http://technet.microsoft.com/fr-fr/library/bb123558(EXCHG.65).aspx

J’ai remarqué que certains objets avec le caractère “_” dans l’adresse SMTP posait problème. Ce n’est pas systématique.

C. Au démarrage d’Outlook, on rencontre une erreur de synchronisation. Si on regarde dans le journal de synchronisation, on voit l’erreur suivante :
Carnet d’adresses en mode hors connexion de Microsoft Exchange
Pas de téléchargement des fichiers du Carnet d’adresses en mode hors connexion. Impossible de localiser un serveur (une URL).
0X8004010F
Explication :
Ce problème peut avoir plusieurs causes.

Solution 1 :
Vérifier qu’un OAB est affecté à votre ou vos bases de boîtes aux lettres.
Pour cela, aller dans “Configuration du serveur | Boîte aux lettres”.
Faire un clic droit au niveau de la base de données de messagerie puis aller dans l’onglet CLIENT.
Spécifier le carnet d’adresse hors connexion à utiliser.
Forcer ensuite la génération de l’OAB (voir problème) au niveau du serveur Mailbox en charge de générer l’OAB.
Redémarrer le service MSExchangeFDS au niveau des serveurs CAS.
Vérifier la présence du répertoire du répertoire ClientAccess\OAB au niveau du répertoire d’installation d’Exchange 2007 sur les serveurs CAS.
Pour plus d’informations, voir :
http://social.technet.microsoft.com/forums/en-US/exchangesvrgeneral/thread/00605d4f-1497-4dbf-87d7-d07f68dde34f/

Solution 2 (problème rencontré avec Outlook 2007 uniquement) :
Le problème provient de la configuration de votre navigateur web.
Voir l’article Microsoft suivant :
http://support.microsoft.com/kb/939765/en-us

Solution 3 (problème rencontré avec Outlook 2007 uniquement) :
Le problème provient du fait qu’Outlook établie une connexion au service AUTODISCOVER d’Exchange en HTTPS avec un nom qui n’est pas contenu dans le certificat sur le serveur Exchange 2007.
On rencontre ce problème quand le client Outlook est dans une autre forêt que le serveur Exchange 2007 (boîtes aux lettres liés).
Le client se connecte à l’autodiscover en utilisant l’alias dns suivant autodiscover.nomdomaine.fr (exemple autodiscover.msreport.free.fr). Hors le certificat ne dispose pas du nom autodiscover.msreport.free.
Avec Internet Explorer, une fenêtre d’avertissement serait apparu. Avec Outlook, la connexion est bloqué.
Je vous conseille de lire ces deux articles qui expliquent ce problème :
http://technet.microsoft.com/en-us/library/bb332063.aspx#ADAndCertificates
http://technet.microsoft.com/en-us/library/bb332063.aspx#ConfiguringADMultipleForestsHowTo
La morale de l’histoire :
Remplacer les certificats autosignés d’Exchange 2007 par des certificats valides.

Solution 4 :
Les paramètres du répertoires virtuelles ne sont pas correctes au niveau du serveur Exchange 2007 avec le rôle de CAS.
Voir article http://support.microsoft.com/kb/951576/en-us

D. Problème de génération de l’OAB sur Exchange 2003 (MAJ 09/05/2010)
Lorsque l’on essaie de générer l’OAB sur un serveur Exchange 2003, l’erreur suivante apparaît dans les observateurs d’événements.
Type de l’événement : Erreur
Source de l’événement : MSExchangeSA
Catégorie de l’événement : Générateur de liste d’adresses en mode hors connexion
ID de l’événement : 9331
Date : 04/05/2010
Heure : 18:09:45
Utilisateur : N/A
Ordinateur : EXCH2003
Description :
L’erreur 80040107 (ID interne 50101df) s’est produite dans OALGen lors de l’accès à la banque de dossiers publics durant la génération de la liste d’adresses en mode hors connexion /.
– Msreport3

Le problème se produisait car je venais de créer un nouveau carnet d’adesses hors connexion (OAB) sur le serveur Exchange 2003.
Avec Exchange 2003, l’OAB est publié dans de la banque de dossiers publics. Hors le dossier public système correspondant au nouveal OAB n’est généré que lorsque le serveur Exchange passe la banque de dossiers publics en mode maintenance, c’est à dire entre 0 et 5 tous les jours.
La solution :
– Soit attendre jusqu’à demain.
– Soit configurer la banque de dossiers publics pour passer en mode maintenance tout de suite. Cela peut être effectué en allant au niveau des propriétés de la banque de dossiers publics.

A+
Guillaume MATHIEU
PROSERVIA
La connaissance s’accroît quand on la partage.

A propos Guillaume Mathieu

Directeur Technique chez Flexsi
Ce contenu a été publié dans Active Directory, Certificats, Exchange, IIS, Troubleshouting, avec comme mot(s)-clé(s) , , , , , , . Vous pouvez le mettre en favoris avec ce permalien.

2 réponses à Complément d’informations sur l’OAB avec Exchange 2003 et Exchange 2007 :

  1. Denis dit :

    Merci pour cet article clair. Cet OAB m’a fait perdre pas mal de cheveux…

  2. Adrien dit :

    Merci pour cette article !

Laisser un commentaire