Implémentation d'une synchronisation d'annuaires entre un système de messagerie non-Exchange et Active Directory
Dernière rubrique modifiée : 2006-08-23
Cette section explique la procédure de réalisation d'une synchronisation d'annuaire manuelle entre un annuaire conforme LDAP et Active Directory. Pour plus d'informations sur la procédure de création des objets de destinataire par programme, voir la rubrique sur la Présentation de l'interopérabilité et de la migration dans Exchange Server 2003.
Vous devez suivre la procédure suivante pour effectuer une synchronisation d'annuaire entre un système de messagerie non-Exchange et Exchange 2003 :
Extraction des informations de l'annuaire source dans un fichier de migration Il existe plusieurs manières d'extraire les informations d'annuaire d'un système de messagerie. L'une d'entre elles consiste à utiliser la fonction d'exportation d'annuaire incluse dans les outils d'administration fournis avec le système de messagerie non-Exchange. Il est également possible d'extraire les informations d'annuaires du système de messagerie à l'aide de l'Assistant Migration d'Exchange, comme indiqué plus haut dans cette rubrique. Celui-ci peut par exemple être utilisé pour extraire les informations d'un annuaire conforme LDAP. Pour des instructions détaillées sur l'extraction d'informations d'un annuaire LDAP à l'aide de l'Assistant Migration d'Exchange, voir la rubrique sur la Comment effectuer une synchronisation d'annuaires semi-automatique.
Si vous exécutez l'Assistant Migration d'Exchange sur un annuaire LDAP autre que Netscape Directory Server, il est possible que l'Assistant Migration ne parvienne pas à identifier correctement les objets utilisateur et ne puisse donc pas effectuer l'extraction. Les indices possibles de l'existence de ce problème comprennent entre autre la présence d'utilisateurs considérés comme des conteneurs Internet sur la page Conteneurs de l'Assistant ou une liste de comptes vierge sur la page Migration de compte.
Par défaut, l'Assistant Migration d'Exchange s'attend à ce que les comptes d'utilisateurs possèdent la classe d'objet inetOrgPerson. Si votre annuaire utilise une autre classe d'objet, l'Assistant Migration est incapable d'identifier et de migrer les comptes d'utilisateur à moins que vous ne modifiiez le fichier mlmigad.ini situé dans le répertoire \Program Files\Exchsvr\Bin et que vous n'y précisiez la classe d'objet utilisée pour les comptes d'utilisateur à la ligne ADSI_ObjectClass. Active Directory, par exemple, utilise la classe d'objet organizationalPerson pour les comptes d'utilisateur. Le tableau 1 répertorie les paramètres que vous pouvez préciser dans le fichier mlmigad.ini.Tableau 1 Paramètres de configuration du fichier mlmigad.ini pour les exportations d'annuaire LDAP
Paramètre Valeur par défaut (correspond à Netscape Directory Server) Équivalent Active Directory Description ADSI_ObjectClass
inetOrgPerson
organizationalPerson
Permet de déterminer quels objets sont des utilisateurs de messagerie.
ADSI_UserID
uid
cn ou sAMAccountName
Ce paramètre est utilisé par l'extracteur IMAP afin de se connecter aux boîtes aux lettres IMAP lors de l'extraction des informations LDAP en vue d'une migration de boîtes aux lettres IMAP4. Cet attribut est obligatoire.
ADSI_MailServer
mailhost
Mailhost
Ce paramètre est utilisé par l'extracteur IMAP afin de se connecter aux boîtes aux lettres IMAP lors de l'extraction des informations LDAP en vue d'une migration de boîtes aux lettres IMAP4. Cet attribut est obligatoire.
ADSI_EmailAddress
mail
Mail
Ce paramètre est utilisé comme adresse proxy secondaire dans Exchange lors de l'extraction des informations LDAP en vue d'une migration de boîtes aux lettres IMAP4.
Le courrier envoyé à cette adresse est routé vers la boîte aux lettres Exchange. Cet attribut est obligatoire.
ADSI_FullName
non précisé
displayName
Permet de créer un nom d'affichage dans Exchange. Si ce paramètre n'est pas précisé, le nom d'affichage est généré à partir d'autres attributs comme l'adresse de messagerie. Cet attribut est facultatif.
ADSI_FirstName
givenname
givenName
Le prénom de l'utilisateur. Cet attribut est facultatif.
ADSI_LastName
sn
Sn
Le nom de famille de l'utilisateur. Cet attribut est facultatif.
ADSI_Initials
initials
Initials
Les initiales des éventuels seconds prénoms de l'utilisateur. Cet attribut est facultatif.
ADSI_NickName
uid
mailNickname
Le nom abrégé de l'utilisateur, également utilisé pour former l'alias Exchange. Cet attribut est facultatif.
ADSI_Title
title
Title
Le titre de l'utilisateur. Cet attribut est facultatif.
ADSI_Company
non précisé
company
Le nom de la société de l'utilisateur. Cet attribut est facultatif.
ADSI_Department
ou
department
Le nom du service de l'utilisateur. Cet attribut est facultatif.
ADSI_Office
roomnumber
physicalDeliveryOfficeName
L'emplacement du bureau de l'utilisateur. Cet attribut est facultatif.
ADSI_PostalAddress
postaladdress
streetAddress
L'adresse postale de l'utilisateur. Cet attribut est facultatif.
ADSI_City
l
L
La localité où réside l'utilisateur. Cet attribut est facultatif.
ADSI_StateOrProvince
st
St
L'état ou la province où réside l'utilisateur. Cet attribut est facultatif.
ADSI_PostalCode
postalcode
postalCode
Le code postal de l'utilisateur. Cet attribut est facultatif.
ADSI_Country
non précisé
Co
Le pays de l'utilisateur. Cet attribut est facultatif.
ADSI_TelephoneNumber
telephonenumber
telephoneNumber
Le numéro de téléphone professionnel de l'utilisateur. Cet attribut est facultatif.
ADSI_TelephoneNumber2
non précisé
otherTelephone
Le deuxième numéro de téléphone professionnel de l'utilisateur. Cet attribut est facultatif.
ADSI_TelephoneHome
homephone
homePhone
Le numéro de téléphone privé de l'utilisateur. Cet attribut est facultatif.
ADSI_TelephoneHome2
non précisé
otherHomePhone
Le deuxième numéro de téléphone privé de l'utilisateur. Cet attribut est facultatif.
ADSI_TelephoneMobile
mobile
mobile
Le numéro de téléphone mobile de l'utilisateur. Cet attribut est facultatif.
ADSI_TelephonePager
pager
Pager
Le numéro de pager de l'utilisateur. Cet attribut est facultatif.
ADSI_TelephoneFax
facsimiletelephonenumber
facsimileTelephoneNumber
Le numéro de télécopie de l'utilisateur. Cet attribut est facultatif.
ADSI_AssistantName
secretary
assistant
Le nom de l'assistant de l'utilisateur. Cet attribut est facultatif.
ADSI_AssistantPhone
non précisé
telephoneAssistant
Le numéro de téléphone de l'assistant de l'utilisateur. Cet attribut est facultatif.
ADSI_AlternateAddress
mailalternateaddress
proxyAddresses
Adresse SMTP supplémentaire pour l'utilisateur dans Exchange. Cet attribut est facultatif.
ADSI_Comment
description
Info
Commentaire sur cet utilisateur. Cet attribut est facultatif.
Remarque : L'Assistant Migration d'Exchange ignore les attributs d'annuaire inexistants ou mal orthographiés. Formatage des informations d'annuaire exportées en vue de l'importation L'exécution de l'Assistant Migration d'Exchange sur un annuaire LDAP avec un fichier mlmigad.ini correctement configuré génère un fichier de migration nommé directory.pri, qui contient toutes les informations exportées relatives aux destinataires. La figure 1 présente un fichier directory.pri provenant d'un système de messagerie Internet.
Vous pouvez utiliser les données de ce fichier pour créer un fichier d'importation au format LDIF (LDAP Data Interchange Format) qui pourra être utilisé par Ldifde.exe pour créer ou mettre à jour les informations de destinataires dans Active Directory. La liste suivante présente un fichier LDIF utilisé pour importer trois comptes dans Active Directory. L'importation de ce fichier LDIF crée des contacts à extension messagerie dans une unité d'organisation distincte nommée « Destinataires SMTP distants ». Vous devez créer cette unité d'organisation avant d'importer les comptes.
dn: CN=Ted Bremer,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: add
objectClass: contact
cn: Ted Bremer
sn: Bremer
givenName: Ted
displayName: Ted Bremer
mailNickname: Ted
targetAddress: SMTP: Ted@legacy.fabrikam.com
mail: Ted@legacy.fabrikam.com
extensionAttribute1: Manual DirSync Process
dn: CN=Birgit Seidl,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: add
objectClass: contact
cn: Birgit Seidl
sn: Seidl
givenName: Birgit
displayName: Birgit Seidl
mailNickname: Birgit
targetAddress: SMTP: Birgit@legacy.fabrikam.com
mail: Birgit@legacy.fabrikam.com
extensionAttribute1: Manual DirSync Process
dn: CN=Kim Akers,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: add
objectClass: contact
cn: Kim Akers
sn: Akers
givenName: Kim
displayName: Kim Akers
mailNickname: Kim
targetAddress: SMTP: Kim@legacy.fabrikam.com
mail: Kim@legacy.fabrikam.com
extensionAttribute1: Manual DirSync Process
Remarque : Pour plus d'informations sur la création de comptes d'utilisateur à l'aide de Ldifde.exe et sur la procédure de conversion d'un fichier .csv en fichier LDIF à l'aide d'une macro Microsoft Excel, voir la rubrique sur la Présentation de l'interopérabilité et de la migration dans Exchange Server 2003. Importation des informations d'annuaire dans Active Directory L'importation d'un fichier LDIF correctement formaté à l'aide de Ldifde.exe est un processus simple. Tapez les commandes suivantes à l'invite de commandes :
ldifde -i -f <import file> -s <Server>,
, par exempleldifde -i -f c:\importfile.ldf -s Server01
.
Si vous tentez de créer de nouveaux comptes pour des utilisateurs existant déjà dans Active Directory, Ldifde.exe affiche une erreur et arrête le processus d'importation. Il est alors nécessaire de chercher les comptes d'utilisateur qui existent dans Active Directory et qui correspondent aux destinataires dans le système de messagerie non-Exchange, puis d'ouvrir le fichier d'importation afin de modifier les attributs de ces comptes plutôt que d'en ajouter de nouveaux. La procédure de recherche et de mise à jour d'objets dans Active Directory est expliquée ci-dessous.
La réponse suivante indique qu'un compte existe déjà :
Importing directory from file "c:\importfile.ldf"
Loading entries.
Add error on line 1: Already Exists
The server side error is "An attempt was made to add an object to the directory
with a name that is already in use."
0 entries modified successfully.
Une réponse positive, au contraire, se présente comme suit :
Logging in as current user using SSPI
Importing directory from file "c:\importfile.ldf"
Loading entries....
3 entries modified successfully.
Les contacts à extension messagerie existent maintenant dans Active Directory et les utilisateurs Exchange peuvent leur envoyer des messages à partir de la liste d'adresses globale La figure 2 présente les objets de contact dans l'unité d'organisation « Destinataires SMTP distants ».
Mise à jour des informations d'annuaire dans Active Directory Pour conserver la synchronisation des informations entre les annuaires, vous pouvez être amené à mettre à jour les informations relatives aux destinataires à chaque fois que les listes d'adresses sont modifiées dans l'annuaire source. Pour ce faire, la manière la plus simple de procéder consiste à supprimer tous les objets de destinataires précédemment importés dans Active Directory; puis à réimporter les nouvelles informations extraites de l'annuaire source. Vous ne devez trouver que les objets précédemment importés. Si vous observez la liste d'importation LDIF présentée ci-dessus, vous trouverez la ligne suivante au sein de chaque section de compte :
extensionAttribute1: Manual DirSync Process
. Ces informations sont utilisées pour associer le compte d'utilisateur au processus manuel de synchronisation d'annuaire. Vous pouvez créer un filtre sur la base de ces informations afin d'identifier tous les objets précédemment créés dans Active Directory. Vous pouvez par exemple taper la commande suivante à l'invite de commandes pour rechercher tous les objets de destinataires dont l'attribut extensionAttribute1 possède la valeur Manual DirSync Process dans un domaine entier sur un serveur de catalogue global :
ldifde -f c:\Exportuser.ldf -s Server01 -t 3268 -d "dc=fabrikam,dc=com" -p subtree -r "(extensionAttribute1=Manual DirSync Process)" -l "targetAddress"
Ldifde.exe écrit les résultats suivants dans le fichier d'exportation :
dn: CN=Ted Bremer,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: add
targetAddress: SMTP: Ted@legacy.fabrikam.com
dn: CN=Birgit Seidl,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: add
targetAddress: SMTP: Birgit@legacy.fabrikam.com
dn: CN=Kim Akers,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: add
targetAddress: SMTP: Kim@legacy.fabrikam.com
Pour supprimer ces comptes, transformez le fichier exporté en fichier d'importation contenant les informations LDIF suivantes, puis importez ce fichier à l'aide de la commande d'importation de LDIFDE (par exempleldifde -i -f c:\importfile.ldf -s Server01
) :
dn: CN=Ted Bremer,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: delete
dn: CN=Birgit Seidl,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: delete
dn: CN=Kim Akers,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: delete
Après avoir supprimé les anciennes informations de comptes, vous pouvez réimporter la nouvelle liste d'adresses afin de recréer tous les contacts avec les nouvelles informations. Toutefois, il est possible que la suppression et la recréation de l'intégralité de la liste d'adresses à chaque modification ne constitue pas la meilleure approche possible. Le service de mise à jour des destinataires doit attribuer de nouvelles adresses de messagerie à tous les objets, ceux-ci doivent être répliqués une nouvelle fois sur le catalogue global et il sera peut-être même impossible de supprimer les anciens comptes si vos utilisateurs de messagerie Internet travaillent avec des comptes à extension messagerie dans Active Directory.Important : Si vous créez un compte d'utilisateur Windows et le recréez ensuite, vous créez en fait un tout nouvel objet, donc l'identificateur de sécurité est différent. En d'autres termes, vos utilisateurs perdront toutes les autorisations spéciales qui leur permettaient de partager des fichiers et autres ressources sur la base de leur ancien compte. Par conséquent, si vos utilisateurs travaillent avec des comptes à extension messagerie, n'utilisez pas la méthode de synchronisation des annuaires consistant à supprimer puis à recréer les objets de destinataires dans Active Directory. Pour mettre à jour les informations d'annuaires, il est conseillé de comparer les informations relatives à l'adresse dans l'annuaire source et dans Active Directory. Vous pouvez utiliser le nom, l'adresse de messagerie ou tout autre attribut permettant d'établir une relation fiable entre les objets d'annuaire pour accéder aux informations présentes dans Active Directory. La commande LDIFDE suivante, par exemple, récupère sur un serveur de catalogue global le nom d'affichage et le numéro de téléphone de tous les objets de destinataire possédant le domaine SMTP « legacy.fabrikam.com » dans leur adresse de messagerie.
ldifde -f c:\Exportuser.ldf -s Server01 -t 3268 -d "dc=fabrikam,dc=com"
-p subtree -r "(mail=*@legacy.fabrikam.com)" -l "displayName,telephoneNumber"
Vous pouvez analyser le fichier d'exportation généré afin d'identifier tous les destinataires dont le nom d'affichage ou le numéro de téléphone a changé, puis créer un nouveau fichier LDIF comprenant les données modifiées et l'importer dans Active Directory afin de mettre à jour les données des comptes existants. Le fichier LDIF suivant indique la procédure de modification du nom d'affichage de deux destinataires. Afin de montrer la procédure de modification de deux attributs pour un même compte, le numéro de téléphone a également été changé pour le premier objet :
dn: CN=Ted Bremer,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: modify
replace: displayName
displayName: Ted
-
replace: telephoneNumber
telephoneNumber: 425 5550150
-
dn: CN=Birgit Seidl,OU=Remote SMTP Recipients,DC=fabrikam,DC=com
changetype: modify
replace: displayName
displayName: Birgit
-
Synchronisation d'annuaire dans le sens inverse Pour synchroniser un annuaire hérité à partir d'un annuaire Active Directory, mettez à jour l'annuaire non-Exchange en suivant la même méthode que pour la mise à jour d'Active Directory. Comme indiqué précédemment, l'Assistant Migration d'Exchange peut extraire les informations d'un annuaire Active Directory dans un fichier nommé directory.pri. Assurez-vous de donner la valeur organizationalPerson à la classe ADSI_ObjectClass dans le fichier mlmigad.ini, sans quoi l'Assistant Migration d'Exchange ne pourra pas identifier les comptes d'utilisateur. Vous pouvez également utiliser Ldifde.exe pour exporter tous les utilisateurs avec boîte aux lettres dans Exchanger Server 2003, ce qui vous permet de n'exporter que les comptes d'utilisateur avec boîte aux lettres souhaités. Vous devez exclure tous les objets de destinataire à extension messagerie faisant référence à des boîtes aux lettres dans le système de messagerie hérité. La commande suivante récupère tous les comptes d'utilisateur avec boîte aux lettres sur un serveur de catalogue global :
ldifde -f Exportuser.ldf -s Server01 -t 3268 -d "dc=fabrikam,dc=com" -p subtree -r "(&(objectClass=User)(homeMDB=*))" -l "cn,mail,samAccountName"
Remarque : Pour plus d'informations sur la procédure d'importation d'annuaires de destinataires SMTP, contactez le fournisseur de votre système de messagerie non-Exchange.