none
Coexistence Exchange 2007 et 2013 : problème de connexion Outlook RRS feed

  • Question

  • Bonjour à tous. 

    Je viens vers vous pour un souci dans un projet de migration Exchange 2007 vers 2013 SP1. 

    Je dispose d'une archi actuelle (Exch 2007 SP3 RU12) avec les serveurs suivants : 

    -Server1 : CAS / HUB server
    -Server2 et Server3 : MBX server. Tous les 2 en cluster CCR sous le nom Server4

    Tous les users ont leur BAL dessus pour l'instant, Outlook pointe vers ces serveurs (Server4 dans la configuration automatique).

    Maintenant, je veux migrer vers Exchange 2013 SP1. J'installe 2 serveurs : 

    - Server12 et Server13 : Multirole, DAG configuré. J'utilise roundrobin pour accéder aux serveurs par le nom mail.domain.org. 

    J'ai migré ma BAL sur Exchange 2013, ça marche via OWA. Par contre, impossible de créer un profil via Outlook. 

    En effet, lorsque j'utilise la création de profil, avec la découverte automatique (autodiscover et outlook anywhere configuré pour pointer vers mail.domain.org, donc mes 2 serveurs Exch2013), j'ai dans l'ordre : 

    - le certificat de mon ancien serveur CAS qui se pointe (Server3). J'accepte. 
    - le certificat pour le domaine domain.fr (non reconnu). J'accepte. 

    Et là, erreur : impossible de créer le profil : "Exchange doit être en ligne". 
    Mon serveur est bien en ligne. Si je fais toute la config du profil à la main, ça plante aussi. 

    Si quelqu'un a des pistes, je suis preneur, car là, j'en arrive à un point où je n'arrive plus à réfléchir correctement... 

    Merci à vous

    lundi 7 avril 2014 13:35

Réponses

  • Vous pouvez ignorer le warning pour l'instant, il est probablement lié au HealthMonitor en DAG.

    Par contre hakim a raison concernant le SCP. Vous devez faire pointer le SCP des serveurs CAS 2007 sur le serveur Exchange 2013. Dans ce scénario, c'est Exchange 2013 qui génère l'autodiscover pour tout le monde (BAL 2013 comme 2007). Par définition, c'est le SCP le plus ancien qui est systématiquement présenté aux clients (sauf affinité par Site AD), donc le SCP d'Exchange 2007. Dans l'absolue, un unique SCP suffirait pour une organisation classique.

    Pour tous les VDir , vous devez faire pointer l'ExternalURL des ressources 2013 sur le serveur Exchange 2013, et préparer un nom "legacy" associé aux ressources 2007 (type legacy.mondomain.com) qui sera associé au externalURL 2007. En effet en dehors de l'autodiscover, pour les autres ressources, le CAS 2013 proxy directement ou réalise une redirection vers le serveur 2007, celui-ci doit avoir une externalURL propre.

    En résumé :

    • Changer le SCP du 2007 pour y mettre le nom de publication des ressources 2013
    • Créer un nom/alias de type legacy (comme oldcasserver.domain.org) et l'associer au ExternalURL 2007 (avec le certificat qui va bien)
    • Créer un nom/alias de type mail.domain.org et l'associer au ExternalURL 2013 (avec le certificat qui va bien).

    Pour l'InternalURL, souvent elle est la même que l'ExternalURL pour des raisons pratiques liées à la génération de certificat, mais ce n'est pas une obligation.


    Bruce Jourdain de Coutance - Consultant MVP Exchange http://blog.brucejdc.fr

    • Proposé comme réponse Bruce JDCModerator lundi 7 avril 2014 18:56
    • Marqué comme réponse Iom84 mercredi 9 avril 2014 09:26
    lundi 7 avril 2014 18:55
    Modérateur
  • Bonjour

    Merci pour vos réponses. Je teste ça demain matin. Donc mon AutodiscoverInternalURI d'Exchange 2007 pointera vers mon mail.domain.org (un nom pour mes 2 serveurs CAS, le round robin gère le reste). 
    ExternalURL sera modifié pour tous les autres vDir Exchange 2007, et idem pour le 2013, avec le nom externe en domain.fr

    Merci, je vous tiens au courant

    • Marqué comme réponse Iom84 mercredi 9 avril 2014 09:26
    lundi 7 avril 2014 19:38

Toutes les réponses

  • Pour info, après l'erreur, la fenêtre revient, m'affiche le bon nom de serveur (Server13), mais impossible de vérifier le nom d'utilisateur (accessible par OWA). 

    J'ai des erreurs DCOM sur chaque serveur Exchange, si ça peut aider : 

    Nom du journal :System
    Source :       Microsoft-Windows-DistributedCOM
    Date :         07/04/2014 14:46:18
    ID de l’événement :10028
    Catégorie de la tâche :Aucun
    Niveau :       Erreur
    Mots clés :    Classique
    Utilisateur :  DOMAIN\administrateur
    Ordinateur :   Server13.DOMAIN.ORG
    Description :
    DCOM n’a pas pu communiquer avec l’ordinateur noforce à l’aide des protocoles configurés ; demande du PID     16ec (C:\Windows\system32\iisreset.exe).
    XML de l’événement :
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-DistributedCOM" Guid="{1B562E86-B7AA-4131-BADC-B6F3A001407E}" EventSourceName="DCOM" />
        <EventID Qualifiers="0">10028</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x8080000000000000</Keywords>
        <TimeCreated SystemTime="2014-04-07T12:46:18.858497400Z" />
        <EventRecordID>23711</EventRecordID>
        <Correlation />
        <Execution ProcessID="780" ThreadID="23056" />
        <Channel>System</Channel>
        <Computer>DGW2K12013.CNED.ORG</Computer>
        <Security UserID="S-1-5-21-436374069-1960408961-1801674531-500" />
      </System>
      <EventData>
        <Data Name="param1">noforce</Data>
        <Data Name="param2">    16ec</Data>
        <Data Name="param3">C:\Windows\system32\iisreset.exe</Data>
        <Binary>3C5265636F726423313A20436F6D70757465723D286E756C6C293B5069643D3738303B342F372F323031342031323A34363A31383A3835383B5374617475733D313732323B47656E636F6D703D323B4465746C6F633D313731303B466C6167733D303B506172616D733D313B7B506172616D23303A307D3E3C5265636F726423323A20436F6D70757465723D286E756C6C293B5069643D3738303B342F372F323031342031323A34363A31383A3835383B5374617475733D313732323B47656E636F6D703D31383B4465746C6F633D313434323B466C6167733D303B506172616D733D313B7B506172616D23303A6E6F666F7263657D3E3C5265636F726423333A20436F6D70757465723D286E756C6C293B5069643D3738303B342F372F323031342031323A34363A31383A3835383B5374617475733D313732323B47656E636F6D703D31383B4465746C6F633D3332323B466C6167733D303B506172616D733D303B3E3C5265636F726423343A20436F6D70757465723D286E756C6C293B5069643D3738303B342F372F323031342031323A34363A31383A3835383B5374617475733D31313030313B47656E636F6D703D31383B4465746C6F633D3332303B466C6167733D303B506172616D733D313B7B506172616D23303A6E6F666F7263657D3E</Binary>
      </EventData>
    </Event>

    lundi 7 avril 2014 13:46
  • Bonjour,

    Vous utilisez des espaces de noms différents entre Exchange 2007 et 2013 ?

    Concernant l'autodiscover, en interne vous interrogez votre SCP (AutodiscoverInternalUri) celui ci semble encore pointer sur votre Exchange 2007.

    Vous pouvez utiliser l'outil de déploiement pour vous assister sur la migration et l'ordre à prendre en compte dans la configuration de la coexistence : http://aka.ms/exdeploy

    Exchange 2013 en coexistence est le serveur d'entrée et redirige ou proxy (selon le services utilisés) vers Exchange 2007

    - mise en place de la redirection vers 2007

    - configuration OA 2007

    - Certificats comprenant l'espace de nom de redirection...etc

    Merci


    Hakim Taoussi

    lundi 7 avril 2014 13:50
  • Mes réponses : 

    - Vous utilisez des espaces de noms différents entre Exchange 2007 et 2013 ?

    Non. Même noms de domaine, les users ont des adresses en domaine.fr, et les serveurs sont en domaine.org

    - Concernant l'autodiscover, en interne vous interrogez votre SCP (AutodiscoverInternalUri) celui ci semble encore pointer sur votre Exchange 2007.

    C'est l'idée, alors que lorsque je fais un Get-ClientAccessServer | fl AutodiscoverServiceinternalURI, j'obtiens :

    - pour le CAS 2007 : https://Server3.domain.org/Autodiscover/Autodiscover.xml

    - pour mes 2 2013 : https://mail.domain.org/Autodiscover/Autodiscover.xml (dans mon DNS, mail = Server12 et Server13)

    - Vous pouvez utiliser l'outil de déploiement pour vous assister sur la migration et l'ordre à prendre en compte dans la configuration de la coexistence : http://aka.ms/exdeploy : pas utilisé, merci, je regarde. 

    Exchange 2013 en coexistence est le serveur d'entrée et redirige ou proxy (selon le services utilisés) vers Exchange 2007 mise en place de la redirection vers 2007, configuration OA 2007, Certificats comprenant l'espace de nom de redirection...etc 
    -> oui, c'est vu. J'accède par exemple, via OWA 2013, à une BAL Exchange 2007. Par contre, qu'entendez-vous par l'espace de nom de redirection? 

    Merci


    Hakim Taoussi


    lundi 7 avril 2014 14:00
  • Et question simple : actuellement, mon serveur CAS 2007 (Server3) était le seul CAS disponible. 
    Il n'y a pas d'alias de configuré pour ce nom d'hôte (par exemple, mail.domain.org). 

    Dans mon DNS, est-ce que : 

    - je modifie mon enregistrement Server3 pour qu'il pointe non plus vers son IP actuelle, mais vers mail.domain.org (mes 2 serveurs 2013)? 

    - je créé un enregistrement qui indique que oldcasserver.domain.org pointe vers l'IP du CAS Exchange 2007 ? 

    lundi 7 avril 2014 14:15
  • Et pour en rajouter une dernière couche, un warning ASP.NET  : 

    Nom du journal :Application
    Source :       ASP.NET 4.0.30319.0
    Date :         07/04/2014 16:36:57
    ID de l’événement :1309
    Catégorie de la tâche :Web Event
    Niveau :       Avertissement
    Mots clés :    Classique
    Utilisateur :  N/A
    Ordinateur :   Server12.domain.ORG
    Description :
    Event code: 3005 
    Event message: Une exception non gérée s'est produite. 
    Event time: 07/04/2014 16:36:57 
    Event time (UTC): 07/04/2014 14:36:57 
    Event ID: 1d4792d2d0a34863935652a103b1b901 
    Event sequence: 63 
    Event occurrence: 62 
    Event detail code: 0 
     
    Application information: 
        Application domain: /LM/W3SVC/2/ROOT/owa-1-130413531372994784 
        Trust level: Full 
        Application Virtual Path: /owa 
        Application Path: C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\ 
        Machine name: Server12
     
    Process information: 
        Process ID: 22848 
        Process name: w3wp.exe 
        Account name: AUTORITE NT\Système 
     
    Exception information: 
        Exception type: MapiExceptionIllegalCrossServerConnection 
        Exception message: MapiExceptionIllegalCrossServerConnection: Monitoring mailbox [] with application ID [Client=OWA] is not allowed to make cross-server calls from [Server12.domain.ORG] to [Server13.domain.ORG]
       à Microsoft.Mapi.CrossServerDiagnostics.BlockCrossServerCall(ExRpcConnectionInfo connectionInfo, String mailboxDescription)
       à Microsoft.Mapi.CrossServerConnectionPolicy.CheckAndBlockMonitoringMailboxes(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.CrossServerConnectionPolicy.Apply(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.ExRpcConnectionFactory.Create(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.MapiStore.OpenMapiStore(String serverDn, String userDn, String mailboxDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, String httpProxyServerName, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, Boolean wantRedirect, String& correctServerDN, ClientIdentityInfo clientIdentity, Boolean unifiedLogon, String applicationId, Client xropClient, Boolean wantWebServices, Byte[] clientSessionInfo, TimeSpan connectionTimeout, TimeSpan callTimeout, Byte[] tenantHint)
       à Microsoft.Mapi.MapiStore.OpenMailbox(String serverDn, String userDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, ClientIdentityInfo clientIdentity, String applicationId, Byte[] tenantPartitionHint, Boolean unifiedLogon)
       à Microsoft.Exchange.Data.Storage.MailboxSession.ForceOpen(MapiStore linkedStore, Boolean unifiedSession)

     
     
    Request information: 
        Request URL: https://localhost:444/owa/proxylogon.owa 
        Request path: /owa/proxylogon.owa 
        User host address: ::1 
        User: CNEDORG\SM_5be84e00e6bb4cff9 
        Is authenticated: True 
        Authentication Type: Kerberos 
        Thread account name: AUTORITE NT\Système 
     
    Thread information: 
        Thread ID: 21 
        Thread account name: AUTORITE NT\Système 
        Is impersonating: False 
        Stack trace:    à Microsoft.Mapi.CrossServerDiagnostics.BlockCrossServerCall(ExRpcConnectionInfo connectionInfo, String mailboxDescription)
       à Microsoft.Mapi.CrossServerConnectionPolicy.CheckAndBlockMonitoringMailboxes(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.CrossServerConnectionPolicy.Apply(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.ExRpcConnectionFactory.Create(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.MapiStore.OpenMapiStore(String serverDn, String userDn, String mailboxDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, String httpProxyServerName, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, Boolean wantRedirect, String& correctServerDN, ClientIdentityInfo clientIdentity, Boolean unifiedLogon, String applicationId, Client xropClient, Boolean wantWebServices, Byte[] clientSessionInfo, TimeSpan connectionTimeout, TimeSpan callTimeout, Byte[] tenantHint)
       à Microsoft.Mapi.MapiStore.OpenMailbox(String serverDn, String userDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, ClientIdentityInfo clientIdentity, String applicationId, Byte[] tenantPartitionHint, Boolean unifiedLogon)
       à Microsoft.Exchange.Data.Storage.MailboxSession.ForceOpen(MapiStore linkedStore, Boolean unifiedSession)
     
     
    Custom event details: 

    XML de l’événement :
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="ASP.NET 4.0.30319.0" />
        <EventID Qualifiers="32768">1309</EventID>
        <Level>3</Level>
        <Task>3</Task>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2014-04-07T14:36:57.000000000Z" />
        <EventRecordID>508771</EventRecordID>
        <Channel>Application</Channel>
        <Computer>Server12.domain.ORG</Computer>
        <Security />
      </System>
      <EventData>
        <Data>3005</Data>
        <Data>Une exception non gérée s'est produite.</Data>
        <Data>07/04/2014 16:36:57</Data>
        <Data>07/04/2014 14:36:57</Data>
        <Data>1d4792d2d0a34863935652a103b1b901</Data>
        <Data>63</Data>
        <Data>62</Data>
        <Data>0</Data>
        <Data>/LM/W3SVC/2/ROOT/owa-1-130413531372994784</Data>
        <Data>Full</Data>
        <Data>/owa</Data>
        <Data>C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\</Data>
        <Data>Server12</Data>
        <Data>
        </Data>
        <Data>22848</Data>
        <Data>w3wp.exe</Data>
        <Data>AUTORITE NT\Système</Data>
        <Data>MapiExceptionIllegalCrossServerConnection</Data>
        <Data>MapiExceptionIllegalCrossServerConnection: Monitoring mailbox [] with application ID [Client=OWA] is not allowed to make cross-server calls from [Server12.domain.ORG] to [Server13.domain.ORG]
       à Microsoft.Mapi.CrossServerDiagnostics.BlockCrossServerCall(ExRpcConnectionInfo connectionInfo, String mailboxDescription)
       à Microsoft.Mapi.CrossServerConnectionPolicy.CheckAndBlockMonitoringMailboxes(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.CrossServerConnectionPolicy.Apply(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.ExRpcConnectionFactory.Create(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.MapiStore.OpenMapiStore(String serverDn, String userDn, String mailboxDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, String httpProxyServerName, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, Boolean wantRedirect, String&amp; correctServerDN, ClientIdentityInfo clientIdentity, Boolean unifiedLogon, String applicationId, Client xropClient, Boolean wantWebServices, Byte[] clientSessionInfo, TimeSpan connectionTimeout, TimeSpan callTimeout, Byte[] tenantHint)
       à Microsoft.Mapi.MapiStore.OpenMailbox(String serverDn, String userDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, ClientIdentityInfo clientIdentity, String applicationId, Byte[] tenantPartitionHint, Boolean unifiedLogon)
       à Microsoft.Exchange.Data.Storage.MailboxSession.ForceOpen(MapiStore linkedStore, Boolean unifiedSession)

    </Data>
        <Data>https://localhost:444/owa/proxylogon.owa</Data>
        <Data>/owa/proxylogon.owa</Data>
        <Data>::1</Data>
        <Data>CNEDORG\SM_5be84e00e6bb4cff9</Data>
        <Data>True</Data>
        <Data>Kerberos</Data>
        <Data>AUTORITE NT\Système</Data>
        <Data>21</Data>
        <Data>AUTORITE NT\Système</Data>
        <Data>False</Data>
        <Data>   à Microsoft.Mapi.CrossServerDiagnostics.BlockCrossServerCall(ExRpcConnectionInfo connectionInfo, String mailboxDescription)
       à Microsoft.Mapi.CrossServerConnectionPolicy.CheckAndBlockMonitoringMailboxes(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.CrossServerConnectionPolicy.Apply(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.ExRpcConnectionFactory.Create(ExRpcConnectionInfo connectionInfo)
       à Microsoft.Mapi.MapiStore.OpenMapiStore(String serverDn, String userDn, String mailboxDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, String httpProxyServerName, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, Boolean wantRedirect, String&amp; correctServerDN, ClientIdentityInfo clientIdentity, Boolean unifiedLogon, String applicationId, Client xropClient, Boolean wantWebServices, Byte[] clientSessionInfo, TimeSpan connectionTimeout, TimeSpan callTimeout, Byte[] tenantHint)
       à Microsoft.Mapi.MapiStore.OpenMailbox(String serverDn, String userDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, ClientIdentityInfo clientIdentity, String applicationId, Byte[] tenantPartitionHint, Boolean unifiedLogon)
       à Microsoft.Exchange.Data.Storage.MailboxSession.ForceOpen(MapiStore linkedStore, Boolean unifiedSession)
    </Data>
      </EventData>
    </Event>

    lundi 7 avril 2014 14:40
  • Vous pouvez ignorer le warning pour l'instant, il est probablement lié au HealthMonitor en DAG.

    Par contre hakim a raison concernant le SCP. Vous devez faire pointer le SCP des serveurs CAS 2007 sur le serveur Exchange 2013. Dans ce scénario, c'est Exchange 2013 qui génère l'autodiscover pour tout le monde (BAL 2013 comme 2007). Par définition, c'est le SCP le plus ancien qui est systématiquement présenté aux clients (sauf affinité par Site AD), donc le SCP d'Exchange 2007. Dans l'absolue, un unique SCP suffirait pour une organisation classique.

    Pour tous les VDir , vous devez faire pointer l'ExternalURL des ressources 2013 sur le serveur Exchange 2013, et préparer un nom "legacy" associé aux ressources 2007 (type legacy.mondomain.com) qui sera associé au externalURL 2007. En effet en dehors de l'autodiscover, pour les autres ressources, le CAS 2013 proxy directement ou réalise une redirection vers le serveur 2007, celui-ci doit avoir une externalURL propre.

    En résumé :

    • Changer le SCP du 2007 pour y mettre le nom de publication des ressources 2013
    • Créer un nom/alias de type legacy (comme oldcasserver.domain.org) et l'associer au ExternalURL 2007 (avec le certificat qui va bien)
    • Créer un nom/alias de type mail.domain.org et l'associer au ExternalURL 2013 (avec le certificat qui va bien).

    Pour l'InternalURL, souvent elle est la même que l'ExternalURL pour des raisons pratiques liées à la génération de certificat, mais ce n'est pas une obligation.


    Bruce Jourdain de Coutance - Consultant MVP Exchange http://blog.brucejdc.fr

    • Proposé comme réponse Bruce JDCModerator lundi 7 avril 2014 18:56
    • Marqué comme réponse Iom84 mercredi 9 avril 2014 09:26
    lundi 7 avril 2014 18:55
    Modérateur
  • Bonjour

    Merci pour vos réponses. Je teste ça demain matin. Donc mon AutodiscoverInternalURI d'Exchange 2007 pointera vers mon mail.domain.org (un nom pour mes 2 serveurs CAS, le round robin gère le reste). 
    ExternalURL sera modifié pour tous les autres vDir Exchange 2007, et idem pour le 2013, avec le nom externe en domain.fr

    Merci, je vous tiens au courant

    • Marqué comme réponse Iom84 mercredi 9 avril 2014 09:26
    lundi 7 avril 2014 19:38
  • Hello. 

    Alors effectivement, en mettant le SCP de 2007 vers 2013, ça allait déjà mieux, mais ça n'a pas tout corrigé. 
    IIS n'avait pas pris en compte mon nouveau certificat. Il a donc fallu le déclarer correctement sur le 443, au niveau des liaisons IIS, et tout est rentré dans l'ordre. 

    Merci à vous

    mercredi 9 avril 2014 09:26