Carnet d’adresse en mode déconnecté avec Exchange 2013

Description rapide :

Les carnets d’adresses hors connexion (OAB) sont utilisés par le client Outlook afin que les utilisateurs ayant le mode cache d’activé puissent disposer d’une copie des listes d’adresses (tel que la liste d’adresse globale) lorsqu’ils sont en mode hors connexion.

Ceci permet aussi de réduire aussi la charge coté serveur car le client Outlook consultera en premier sa liste d’adresse hors connexion au lieu d’être toujours connecté au serveur.

Pré-requis:

  •  Avoir une plateforme Exchange 2013
  •  Avoir les droits Organization Management

Exchange 2013 : les changements :

Génération de l’OAB :

Sur Exchange 2013, la génération et la méthode de publication de l’OAB sont différentes des versions Exchange 2007 ou 2010.
En effet, dans les versions Exchange 2007/2010 et les précédentes aussi ;-), le serveur de génération de l’OAB était un serveur mailbox désigné dans les propriétés de l’OAB (en général par défaut, il s’agit du premier serveur mailbox installé de votre organisation).

Exemple :

1oab2

Alors que sur Exchange 2013, la génération de l’OAB est effectuée par le serveur mailbox qui héberge la boite aux lettres d’« arbitration » (organization mailbox).

Sur une plateforme sans DAG, pour identifier le serveur hébergeant la boite aux lettres d’organisation, lancez la commande powershell suivante dans EMS :

  • Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like « *oab* »} | ft name,servername
2oab

Sur une plateforme avec DAG, pour identifier le serveur hébergeant la boite aux lettres d’organisation, lancez la commande powershell suivante dans EMS pour déterminer la database :

  •  Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like « *oab* »} | ft name,databasename
3oab

Puis ensuite lancez la commande powershell suivante, afin de déterminer le serveur:

  •  Get-MailboxDatabaseCopyStatus dAG02DB01
4oab

Le serveur de génération est donc celui qui héberge la base de données montée. Il est donc tout à fait possible si besoin dans un environnement avec DAG, de changer le serveur de génération en déplaçant la base de donnée active sur un autre serveur membre du dag.

Il y a un autre changement concernant la génération de l’OAB sur Exchange 2013, il s’agit du service responsable de cette tâche.

En effet, alors que dans les versions précédentes d’Exchange, cette tâche était effectuée par le service Microsoft Exchange System Attendant à un horaire planifié (par défaut 5 h du matin) sans tenir compte de la charge serveur, sur Exchange 2013, la tâche est attribué à un composant (OABGeneratorAssistant) du service Microsoft Exchange Mailbox Assistants service qui s’exécute en tant que process et se stoppe si besoin en fonction de la charge du serveur.

Méthode de publication de l’OAB :

Dans les versions précédentes d’Exchange, l’OAB etait stocké sur le serveur mailbox de génération à l’emplacement suivant : %ExchangeInstallPath%ExchangeOAB

Sur Exchange 2013, l’oab est généré dans la boite aux lettres d’arbitration et ensuite copié à l’emplacement suivant : %ExchangeInstallPath%ClientAccessOAB sur le serveur de génération

Exemple :

5oab

De plus, la méthode de publication de l’OAB sur Exchange 2013 diffère aussi des versions précédentes.

En effet, dans les versions précédentes d’Exchange, il était possible de publier l’OAB soit en web via les serveurs CAS ou soit via les dossiers publics pour les clients Outlook 2003 par exemple.

Sur Exchange 2013, seul la distribution web est disponible pour la publication de l’OAB, et la méthode de publication diffère.

En effet, dans les versions Exchange 2007/2010, pour la distribution web, c’était le service Microsoft Exchange File Distribution sur les serveurs CAS qui étaient responsable de récupérer les fichiers de l’OAB sur les serveurs mailbox et de les distribuer aux clients Outlook 2007 minimum.

Exemple :

  1.  Outlook reçoit l’url de publication de l’OAB via l’autodiscover et interroge le serveur CAS responsable de la distribution
  2.  Le serveur CAS une fois l’authentification effectuée et validée, distribue alors les fichiers OAB au client Outlook.

Sur Exchange 2013, le service Microsoft Exchange File Distribution a été supprimé des serveurs CAS, car toutes les demandes de téléchargement clients sont maintenant « Proxifiés » vers le serveur mailbox. Le serveur CAS en Exchange 2013 reçoit une requête de téléchargement et proxifie toutes les requêtes directement vers le bon serveur mailbox hébergeant l’OAB et les redistribue aux clients Outlook.

Exemple :

  1.  Outlook reçoit l’url de publication de l’OAB via l’autodiscover et interroge le serveur CAS responsable de la distribution
  2.  Le serveur CAS effectue l’authentification du client
  3. Le serveur CAS interroge active directory pour déterminer le serveur mailbox hébergeant la boite aux lettres d’arbitration
  4. Le serveur CAS Proxifie alors la requete vers ce serveur Mailbox
  5.  Le serveur CAS récupère les fichiers OAB et le redistribue aux clients Outlook

Méthode de création et d’administration de l’OAB :

Pour conclure, il faut noter qu’il n’est plus possible sur Exchange 2013 de créer ou de configurer votre OAB via une console. 😉
En effet, l’Exchange Admin Center permet de créer des listes d’adresses mais pas d’OAB, pour cela, il vous faudra alors utiliser le powershell Exchange :
Exemple pour créer un nouvel OAB :
Lancez la commande powershell suivante dans EMS pour créer un nouvel OAB:

  •  New-OfflineAddressBook -Name OAB-TEST -AddressLists « Global Address List TEST » -VirtualDirectories « ex2013OAB (Default Web Site)« 
6oab

Ou sinon si vous souhaitez par exemple : forcer la régénération de l’OAB manuellement, vous pouvez alors soit :

  •  Lancez la commande powershell suivante dans EMS :
  • o Update-OfflineAddressBook « OAB-TEST« 
  •  Relancez le service Microsoft Exchange Mailbox Assistant, ce qui forcera l’assistant à régénérer l’OAB