Erreur lorsque vous effectuez une recherche sur plusieurs boîtes aux lettres dans Exchange Server 2010 : l’utilisateur n’a pas de boîte aux lettres exchange

Numéro de la base de connaissances d’origine : 2702446

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous démarrez Exchange Panneau de configuration (ECP) dans Microsoft Exchange Server Entreprise 2010 ou dans Exchange Server Standard 2010.
  • Vous effectuez une recherche dans plusieurs boîtes aux lettres.
  • La recherche de plusieurs boîtes aux lettres utilise une boîte aux lettres système, la boîte aux lettres recherche de découverte ou la boîte aux lettres fédérée comme cible pour la recherche.

Dans ce scénario, vous pouvez obtenir le message d’erreur suivant :

L’utilisateur n’a pas de boîte aux lettres exchange

En outre, l’événement suivant est enregistré dans le journal des applications :

Log Name: Application
Source: MSExchange Configuration Cmdlet - Remote Management
Event ID: 5
Task Category: General
Level: Error
Keywords: Classic
Description:
(PID 6268, Thread 53) Task New-MailboxSearch throwing terminating exception at stage Microsoft.Exchange.Data.Storage.UserHasNoMailboxException: The user does not have an Exchange mailbox.
at Microsoft.Exchange.Data.Storage.ExchangePrincipal.InternalFromADUser(ADUser user, ADObjectId mdb, DatabaseLocationInfo databaseLocationInfo, Boolean ignoreSiteBoundary)
at Microsoft.Exchange.Data.Storage.Infoworker.MailboxSearch.MailboxDataStore.OpenMailboxSession(ADUser adUser)
at Microsoft.Exchange.Data.Storage.Infoworker.MailboxSearch.MailboxDataStore..ctor(ADUser adUser)
at Microsoft.Exchange.Data.Storage.Infoworker.MailboxSearch.MailboxDataProvider.OpenMailboxStore()
at Microsoft.Exchange.Data.Storage.Infoworker.MailboxSearch.MailboxDataProvider.Exists[T](String name)
at Microsoft.Exchange.Management.Tasks.NewMailboxSearch.PreSaveValidate(SearchObject savedObject)
at Microsoft.Exchange.Management.Tasks.NewMailboxSearch.InternalEndProcessing(). Exception: {4c1ab22a-bd1d-41e9-b178-5e75ffd14563}

Cause

Ce problème peut se produire si une ou plusieurs des boîtes aux lettres suivantes sont dans un état incohérent, car aucune valeur n’est définie pour l’attribut HomeMDB :

  • Une ou plusieurs boîtes aux lettres système
  • Boîte aux lettres fédérée
  • Boîte aux lettres de recherche de découverte

Résolution

Pour résoudre ce problème, procédez comme suit :

  1. Démarrez l’ECP.

  2. Vérifiez qu’une ou plusieurs boîtes aux lettres sont dans un état incohérent. Pour ce faire, tapez l’applet de commande suivante, puis appuyez sur Entrée :

    Get-Mailbox -Arbitration |fl name, alias
    

    Remarque

    Vous pouvez recevoir un message d’erreur semblable à ce qui suit. Ce message d’erreur confirme qu’une ou plusieurs boîtes aux lettres système ou la boîte aux lettres fédérée sont dans un état incohérent :

    AVERTISSEMENT : L’objet SystemMailbox{1f05a927-9daf-4003-9bf7-036822f96290} a été endommagé, et il est endommagé
    dans un état incohérent. Les erreurs de validation suivantes se sont produites :
    AVERTISSEMENT : La base de données est obligatoire sur UserMailbox.
    AVERTISSEMENT : La base de données est obligatoire sur UserMailbox.

  3. Vérifiez que la valeur de l’attribut HomeMDB est manquante pour une boîte aux lettres. Pour ce faire, tapez l’applet de commande suivante dans l’ECP, puis appuyez sur Entrée :

        Get-Mailbox |fl name, alias
    

    Remarque

    Le message d’erreur suivant indique que la valeur de l’attribut HomeMDB est manquante :
    La base de données est obligatoire sur UserMailbox

  4. Copiez la HomeMDB valeur d’attribut d’une boîte aux lettres dans la même base de données que la boîte aux lettres système, la boîte aux lettres fédérée ou la boîte aux lettres recherche de découverte. Pour cela, procédez comme suit :

    1. Cliquez sur Démarrer, tapez Adsi Edit dans la zone Rechercher des programmes et des fichiers , puis appuyez sur Entrée.

    2. Dans le menu Action, cliquez sur Connexion à.

    3. Cliquez sur Sélectionner ou tapez un domaine ou un serveur, sélectionnez le serveur souhaité, puis cliquez sur OK.

    4. Développez Contexte de nommage par défaut, puis cliquez sur l’élément suivant :

      DC=domain,DC=com

    5. Double-cliquez sur CN=Users.

    6. Cliquez avec le bouton droit sur une boîte aux lettres utilisateur, puis cliquez sur Propriétés.

    7. Sous Attribut, cliquez sur accueilMDB>Modifier.

    8. Copiez la valeur de l’attribut HomeMDB , puis cliquez deux fois sur OK .

  5. Définissez la HomeMDB valeur d’attribut sur la boîte aux lettres système, la boîte aux lettres fédérée ou le compte de boîte aux lettres recherche de découverte. Pour cela, procédez comme suit :

    1. Dans ADSI Modifier, cliquez avec le bouton droit sur le compte de la boîte aux lettres système, de la boîte aux lettres fédérée ou de la boîte aux lettres recherche de découverte, puis cliquez sur Propriétés.
    2. Sous Attribut, cliquez sur accueilMDB>Modifier.
    3. Tapez ou collez la valeur d’attribut HomeMDB que vous avez copiée à l’étape 4.
    4. Cliquez sur OK à deux reprises.
  6. Dans le menu Fichier, cliquez sur Quitter.

  7. Répliquez la forêt. Pour ce faire, tapez l’applet de commande suivante à une invite de commandes avec élévation de privilèges, puis appuyez sur Entrée :

    repadmin /syncall /e
    

Informations supplémentaires

Pour plus d’informations sur l’attribut HomeMDB , consultez Propriété HomeMDB.

Pour plus d’informations sur un problème qui peut se produire lorsque la valeur de l’attribut HomeMDB est manquante dans la boîte aux lettres du Service de surveillance du système, consultez L’attribut HomeMDB du Standard système est manquant.