Dépanner les affinités de site pour le service de découverte automatique

On peut spécifier l'utilisation de sites AD pour le service de découverte automatique. Pour cela on indique le site ou les sites dans le paramètre
AutodiscoverSiteScope de la commande Set-ClientAccessServer.

Pour plus d'information sur comment configurer le service de découverte automatique pour utiliser l’affinité de site, se reporter à cet article :

https://technet.microsoft.com/fr-FR/library/aa998575(v=exchg.141).aspx

Une fois en place, le client Outlook 2007-2010 va récupérer le SCP de son site pour utiliser le service de découverte automatique.

Le fonctionnement est le suivant :

Outlook se connecte à un GC et fait une requête LDAP pour obtenir la liste des SCP disponibles dans l'AD.

La requête est :

Base object:
CN=Configuration,DC=tgptrading,DC=glb,DC=corp,DC=local

Filter:
( &(objectCategory=CN=Service-Connection-Point,CN=Schema,CN=Configuration,DC=adatum,DC=com)
( | (keywords=77378F46-2C66-4aa9-A6A6-3E7A48B19596)(keywords=67661D7F-8FC4-4fa7-BFAC-E1D7794C1F68) ) )

Une fois le résultat retourné, Outlook trie les SCP retournés en se basant sur le site AD du client. Pour cela il vérifie l'attribut Keyword de l’objet SCP.

Il va ainsi constituer une liste des SCP dans son site et une en dehors de son site.

Si aucun SCP ne correspond à son site alors il utilise le premier SCP en dehors retourné par la requête.

Pour avoir une idée de ce  que récupère Outlook, il faut prendre une trace LDAP. 

Logman permet de prendre cette trace simplement.

Voici la procédure :

-             Il faut  un poste Windows 7 avec Outlook 2010

-            Lancer Outlook

-             En base de registre créer la clef suivante :HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ldap\Tracing\Outlook.exe

-             Dans une commande prompt, taper : 

                     logman create trace "ds_ds" -ow -o c:\ds_ds.etl -p "Microsoft-Windows-LDAP-Client" 0x1a59afa3 0xff -nb 16 16 -bs 1024 -mode Circular -f bincirc -max 4096 –ets

-             Une fois logman lancé :

•             Aller dans "Tester la configuration automatique de la messagerie" (crtl+clic droit sur l'icône Outlook)

•             Renseigner le mot de passe si besoin

•            Décocher "utiliser Guessmart" et "authentification Guesspart sécurisée"

•            Lancer le test

-             Une fois le test terminé, aller dans l'onglet "Journal" et vérifier que l'on a reproduit le problème

-             Faire une copie d'écran

-            Arrêter la trace Logman avec la commande : logman stop "ds_ds" –ets

-            Convertir ensuite le fichier etl généré en txt avec la commande : netsh trace convert input=c:\ds_ds.etl output=LDAP_CLIENT-formatted.txt

Une erreur facilement reproductible est de mal renseigner le paramètre AutoDiscoverSiteScope et alors Outlook ne trouve aucun SCP pour son site et
prend donc le premier SCP hors de son site.

La valeur de l'attribut Keywords doit être dans l'AD:

Site=siteA
Site=siteB

Il faut alors utiliser la syntaxe suivante:

Set-ClientAccessServer –Identity Server -AutoDiscoverSiteScope "siteA", "siteB"

Si l'on positionne les valeurs avec la syntaxe

Set-ClientAccessServer –Identity Server -AutoDiscoverSiteScope {siteA, siteB}  on a alors comme valeur dans l'AD pour keywords : siteA, siteB et
on n'a pas la référence Site=.

Les 2 syntaxes sont acceptées dans Powershell et donnent le même affichage mais ne seront pas interprétées de la même manière dans l'AD.