Installer Exchange 2007 sur Windows 2008 : un vrai jeu de pistes

On pourrait penser que ces 2 derniers nés de Microsoft sont encore plus facile à installer l’un sur l’autre que les prédécesseurs. Il faut dire que lors de l’installation d’Exchange 2003 on était si bien guidé… à vrai dire c’est plutôt un jeu de piste où Google est votre ami… je ferais une meilleure doc après coup, mais en attendant jugez un peu vous même des obstacles :

  1. Première chose il impose l’installation de Powershell et envoi sur le site de Microsoft, qui ne le propose que pour windows 2003 et en realese candidate 2 pour windows 2008… google nous apprend grace à un forum qu’en réalité powershell est un composant inclu dans windows 2008 qu’il faut juste l’installer à partir gestionnaire de serveur.
  2. IIS avec le composant ASP.NET doit être installé aussi.
  3. Voici les commandes possibles pour préparer l’active directory :
setup.com /PrepareLegacyExchangePermissions Ce commutateur doit être utilisé si des versions précédentes d’Exchange (2000 ou 2003) ont déjà été déployées dans la forêt. Il permet de modifier les autorisations associées au groupe Enterprise Exchange Servers (sans cela le service de mise à jour des destinataires d’Exchange 2007 ne pourra pas fonctionner correctement).
setup.com /PrepareSchema Ce commutateur permet de modifier le schéma Active Directory et d’y ajouter toutes les classes et tous les attributs nécessaires au bon fonctionnement d’Exchange Server 2007. Il est recommandé d’exécuter cette commande dans le même domaine et dans le même site Active Directory que le contrôleur de schéma (voire d’exécuter la commande localement sur le contrôleur de schéma).
setup.com /PrepareAD /OrganizationName:<NOM-ORGA> Ce commutateur permet de créer l’organisation Exchange (c’est à dire le conteneur stockant les paramètres d’Exchange dans la partition de configuration Active Directory). Dans un second temps, il prépare le domaine en créant une unité d’organisation contenant les groupes universels de sécurité nécessaires à Exchange. Si les deux commandes précédentes (/PrepareLogacyExchangePermissions et /PrepareSchema) n’ont pas été exécutées, le commutateur /PrepareAD les lance automatiquement. L’utilisation du commutateur /OrganizationName est obligatoire si et seulement si aucune version précédente d’Exchange n’est présente. En effet dans le cadre d’une migration depuis Exchange 2000/2003 vers Exchange 2007, l’organisation est déjà présente
setup.com /PrepareDomain Ce commutateur prépare le domaine actuel en créant une unité d’organisation contenant le ou les groupes nécessaire au bon fonctionnement d’Exchange Server 2007. Cette option n’est utile que dans une infrastructure multidomaine (on exécute /PrepareAD dans un premier domaine, puis /PrepareDomain dans chacun des domaines restants).
setup.com /PrepareAllDomains Ce commutateur permet de préparer tous les domaines de la forêt en une seule opération (cela revient à exécuter /PrepareDomain dans chacun des domaines).

Voici une liste de scénarios possibles.

Dans une infrastructure monodomaine (si aucune ancienne version d’Exchange n’est déployée) vous pouvez :

  1. Lancer uniquement la commande /PrepareAD
  2. Ou bien lancer la commande /PrepareSchema, puis /PrepareAD

Dans une infrastructure monodomaine (si une ancienne version d’Exchange est utilisé ou a été utilisée) vous pouvez :

  1. Lancer uniquement la commande /PrepareAD
  2. Ou bien lancer les commandes /PrepareLegacyExchangePermissions, puis /PrepareSchema, et enfin /PrepareAD

Dans une infrastructure multidomaine vous pouvez :

  1. Lancer uniquement les commandes /PrepareAD et /PrepareAllDomains
  2. Ou bien lancer les commandes : /PrepareLegacyExchangePermissions, /PrepareSchema, PrepareAD, puis /PrepareDomain pour chacun des domaines de la forêt

Forcément la commande setup.com indique qu’elle n’est pas utilisable avec cette version de windows… je le lance donc à partir d’un ordinateur sous Windows 2003, mais là je n’ai que des machines 32bits, donc je télécharge la version d’essai 32bits : http://www.microsoft.com/technet/prodtechnol/eval/exchange/default.mspx. Elle fait un peu plus d’1Go. Bien sûr pour que ça fonctionne il faut installer PowerShell sur votre serveur 32bits… (comme dit Arnaud en me voyant m’arracher les cheveux : “il vous faut le formulaire bleu…“).

Attention à executer setup.com sur un serveur qui n’a pas exchange, sous peine d’avoir le message : “Une version précédente d’Exchange Server est déjà installée sur cet ordinateur. Exécutez le programme d’installation Exchange 2007 depuis un autre ordinateur ou supprimez la version précédente d’Exchange Server“. Pour ma part, j’ai du finir par l’installer à partir d’un simple ordinateur windows XP, donc avec la version PowerShell pour Windows XP SP2. J’espère qu’il ne va pas de demander le formulaire jaune E832192… ah ben si : “Lorsque vous exécutez Exchange Server 2007 Service Pack 1 (SP1) sous Windows Server 2003 ou une version antérieure du système d’exploitation, il est recommandé d’installer Microsoft .NET Framework 2.0 Service Pack 1 (SP1). Si vous ne pouvez pas installer .NET Framework 2.0 SP1, installez le correctif décrit dans l’article 942027 de la Base de connaissances de Microsoft à l’adresse http://go.micro
soft.com/fwlink/?linkid=101219.

Ah déjà plus important : “Au moins un connecteur Active Directory trouvé. Supprimez tous les connecteurs Active Directory avant d’installer Exchange 2007.“.

Donc j’installe le framework (via windows update) et je supprime le connecteur… que sera la suite ?

La suite : “L’ordinateur local n’a peut-être pas les informations de Registre ou les librairies requises pour afficher les messages émanant d’un ordinateur distant. Vous pourrez peut-être utiliser l’option /AUXSOURCE= pour récupérer cette description”… setup.com ne connait pas l’option AUXSOURCE…

J’abandonne donc l’idée d’une version 32bits car tous mes serveurs possèdes exchanges (et oui on a eu besoin de 3 exchanges avec cette limitation stupide à 75Go…). Je télécharge donc la version 64bits en essai, car elle contient le service pack1, peut être qu’elle acceptera de fonctionner sur Windows 2008 ?

Là je suis bien content de voir que le SP1 fait que setup.com accepte enfin de se lancer sur Windows 2008, mais la bête ne se rend pas comme ça, j’ai dû oublier le forlumaire X34927 : “Le schéma Active Directory n’est pas actualisé et Ldifde.exe n’est pas installé sur cet ordinateur. Vous devez installer Ldifde.exe en exécutant « ServerManagerCmd -i RSAT-ADDS » ou redémarrer le programme d’installation sur le contrôleur de domaine.”

Ok je lance “ServerManagerCmd -i RSAT -ADDS”, c’est que je l’écoute la dame derrière son guichet…

Mince il faut redémarrer le serveur, heureusement que c’est un serveur test !

Nouveau message lors du lancement suivant de setup.com : “Cet ordinateur n’appartient pas à un site Active Directory valide. Vérifiez les définitions du site et du sous-réseau”. Je décide donc de lancer un dcpromo pour passer ce serveur temporaire en Controleur de Domaine…

Ah ben là… Microsoft a fait très fort : “Contrôles de l’organisation      ……………………. TERMINÉE”… on y croit !!! la suite est prometeuse : “Si vous continuez, le schéma Active Directory sera mis à niveau. Vérifiez que l’organisation est prête pour Exchange 2007 en effectuant les tests de préparation Exchange 2007 exécutés par l’outil Exchange Best Practices Analyzer.”.

IL AURAIT PU PARLER DE CE EXCHANGE BEST PRACTICES ANALYZER AVANT !!!!!!

Sinon j’ai un echec car il ne trouve pas un fichier idf dans le dossier d’installation setup\serverroles\common\setup\data , je découvre avec effarement que ce dossier est vide alors qu’il est rempli de fichier dans le 2e serveurs que je prépare… le même fichier téléchargé ne se décompresse t il pas partout pareil ? bon je relance l’extration de l’archive, les fichiers sont bien là et je relance la commande…

j’ai du m’endormir, je dois réver, après ça voici le message :

Préparation de l’organisation    ……………………. TERMINÉE
L’opération d’installation de Microsoft Exchange Server est terminée.

Je rêve où il capitule ?? l’acharnement de l’informaticien l’emporte encore… bon ça signifie donc que… ah oui la préparation de l’AD est enfin ok pour commencer l’installation d’Exchange, mince… c’est pas si glorieux de n’arriver qu’à pouvoir enfin commencer à lancer l’installation après autant d’heures.

Donc je lance l’installation de la version d’essai avec SP1 car la notre n’accepte toujours pas Windows 2008… SP1 obligatoire donc pour Windows 2008…

Roh, moi qui ait cru que ça irait tout seul à présent (ah bon j’ai vraiment pu croire ça ? non c’est une façon de parler voyons !).

J’ai pourtant installé IIS avec ASP.net comme recommandé par labo-microsoft.com… ça ne suffit apparement pas.

J’installe la liste impressionnante d’éléments qui doivent l’être (même du Windows Media Encoder, et du Windows Media Audio Voice Codec que je n’ai pas trouvé, j’ai donc installé plutôt “Expérience audio-vidéo haute qualité Windows” qui oblige à redémarrer le serveur…)

Et je reste bête quand je vois l’avertissement suivant… l’informatique ce n’est pas censé automatiser ces choses là ?

Windows Media Encoder, et du Windows Media Audio Voice Codec étant introuvables sur Windows 2008 (je dois vraiement changer de métier pour ne pas trouver un truc si simple) je décide d’installer Exchange 2007 sans l’option “Rôle de serveur de messagerie unifiée”. Nous effectuerons notre connexion à notre téléphonie IP quand j’aurais trouvé ces Windows Media Encoder, et du Windows Media Audio Voice Codec…

Et voila, ça fait vraiment une sensation étrange après autant de résistance, Exchange s’installe vraiment !!!

Donc j’installe ça sur un 2e serveur de test se trouvant à des centaines de kilomètre, ça sera nos 2 serveurs test, mais là j’ai une superbe erreur lors de l’installation :

“Échec du composant Exchange Server Rôle de transport Hub.
Erreur : Erreur :
Échec du démarrage du service « MSExchangeTransport ». Consultez le journal des événements pour déterminer les raisons possibles de l’échec du démarrage du service.”

Je vais dans l’observateur d’évènements et le message est…….. le même…… Je voudrais bien être beta testeur chez microsoft, parce que là ça devient ridicule…

Ensuite, installons RPC over HTTP car on sait (c’est écrit partout sauf sur exchange) que pour Outlook Anywhere il le faut (permet d’utiliser outlook sans connexion vpn grace à une connexion HTTPS). Pour cela il faut aller dans “ajouter des fonctionnalités” qu’on trouve en ayant cliqué sur “fonctionnalités” dans le gestionnaire de serveur.

Lors du déplacement de la première boite utilisateur dessus, j’ai le message d’erreur “serveur exchange 2007 introuvable avec un service de liste d’adresses actif” je trouve sur un forum que cela signifie que le service “Microsoft Exchange – Surveillance du système” n’est pas démarré… en effet je le démarre manuellement (alors qu’il est en automatique) et le déplacement de la boite se fait enfin.

Après une bonne semaine à ne pas comprendre pourquoi mon téléphone windows et mon service SMTP tombent sur un mauvais certificat. Grâce à http://www.forum-microsoft.org/post575627.html j’apprends que même si je n’ai aucun message d’erreur l’indiquant, l’usage d’un certificat en *.company.com provoque des soucis… je passe donc à un certificat en mail.company.com et en effet ça fonctionne mieux. Conclusion je ne fais plus qu’un seul certificat contenant tous les noms dont j’ai besoin, et il y a la marche à suivre indiquée sur le site de microsoft : http://technet.microsoft.com/fr-fr/library/aa995942(EXCHG.80).aspx

En réalité equifax a refusé cette requete, il a fallut que je change le subjectname en ajoutant des informations, ça a donné plutôt ce qu’on voit dans mon article : http://offroad.gonzofamily.com/2008/10/29/certificats-a-plusieurs-noms-pour-exchange/ mais finalement equifax n’a validé que le CN et a ignoré tous les AltName… donc j’ai fini par utiliser notre propre autorité de certification et cela m’oblige à installer le certificat sur tous les téléphones mobiles et les mac de la boite.

C’est cette commande au finale qui aura créer la requete :

New-ExchangeCertificate -generaterequest -subjectname “C=FR, ST=Ile-de-France, L=Paris, O=nom de ma Company, OU=IT Service, CN=exchange.company.com” -domainname exchange.company.com, srv-exch-01.company.com, srv-exch-01, srv-exch-01.company.local, webmail.company.com, smtp.company.com, autodiscover.company.com, autodiscover.company.local   -PrivateKeyExportable $true -path c:\certrequest_equifax.txt

Les commandes suivantes m’ont permis d’installer le certificat puis de l’activer (j’ai du enlever UM car je ne l’ai pas encore installé)

Import-ExchangeCertificate -Path c:\certificates\filename.cer -friendlyname “Contoso CAS01”

dir cert:\LocalMachine\My | fl

Services: [PS] C:\Windows\System32>Enable-ExchangeCertificate -Thumbprint B240….1A8C98 -Services “IMAP, POP, UM, IIS, SMTP”

Je découvre grâce à http://blog.aaronmarks.com/?p=65 qu’il y a un bug lorsqu’on utilise Outlook Anywhere avec un serveur Windows 2008. Ce qui explique ma demande de mot de passe en boucle lorsque j’essayais d’utiliser outlook en https…. Donc j’ajoute une clé DWORD 32 bits nommé DisabledComponents dans HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters dont la valeur est 0xff. Puis je commante avec un # les lignes concernant le localhost ipv6 dans le fichier %SYSTEMROOT%\System32\drivers\etc\hosts . Enfin pour une certitude absolue on désactive l’ipv6 dans les connexions réseaux également.

Les stratégies de destinataires ne sont pour l’instant gérables que sur 2003, nous transferons donc celà (de fraçon irréversible) sur 2007 :

Set-EmailAddressPolicy -ForceUpgrade -Identity:”Default Policy” -IncludedRecipients “allrecipients”

je crée un connecteur d’envoi car les connecteurs d’envoie de 2003 ne sont pas exportable. Configuration de l’organisation/transport hub puis l’onglet Envoyer les connecteures, puis “Nouveau connecteur d’envoie” dans actions.

Je déplace le carnet d’adresses en mode hors connexion sur mon nouveau serveur : configuration de l’organisation/Boîte aux lettres, onglet Carnet d’adresses en mode hors connexion, dans actions on trouve “Déplacer…”. Puis dans les propriétés j’active la distribution web.

Il reste à déplacer les boitês aux lettres et les dossiers publiques : pour les dossiers publique c’est dans la console exchange 2003, dans banque de dossiers publics du serveur concerné, un clique droit donne accès à “Déplacer tous les réplicas” mais j’obtiens le message d’erreur suivant :

” Le service HTTP utilisé par les dossiers publics n’est pas disponible ; les causes possibles sont que les banques publiques ne sont pas montées et que le service de banque d’informations n’est pas en cours d’exécution.

ID de l’erreur : c1030af3

Gestionnaire système Exchange “

le problème est connu ici : http://support.microsoft.com/kb/840182/fr

Une fois tout cela fini, mon serveur exchange 2003 était un controleur de domaine avec le shéma global… je lance donc un DCPromo timide :

l’opération a écoué car : impossible de configurer le service NetLogon comme requis “dépassement du délai d’attente”

Décidément, jamais rien n’est simple… ne trouvant pas de solution satisfaisante, je relance le DCPromo et cette fois ça marche… no comment

Ne supportant plus d’avoir des erreurs de certificats sur outlook 2007 à cause du nom de mon serveur en serveur1.domaine.local, j’ai appliqué le script de cette page.

Leave a Reply

Your email address will not be published. Required fields are marked *