Прочитать на английском

Поделиться через


Восстановление, если почтовый ящик существует как в Exchange Online, так и в локальной среде

Описание

В Microsoft Exchange Server гибридном развертывании у пользователя может быть почтовый ящик как в Exchange Online, так и в локальной организации Exchange. Это состояние не является желать для гибридной организации, так как оно создаст проблемы с потоком обработки почты. В этом случае сообщения будут доставлены в почтовый ящик, соответствующий расположению отправителя. Если отправитель находится в вашей локальной организации, сообщения будут доставлены в локальный почтовый ящик. Если отправитель находится в клиенте Exchange Online, сообщения будут доставлены в почтовый ящик Exchange Online.

Как улучшить ситуацию

Чтобы устранить эту проблему с потоком обработки почты, рекомендуется обратиться к методам, указанным в этой статье. Другие возможные варианты используют методы восстановления, которые не гарантированно работают. По мере того как Microsoft 365 продолжает развиваться и добавляются новые функции, могут появиться дополнительные параметры. Эта статья будет обновлена с учетом дополнительных методов коррекции по мере их доступности.

Сценарий 1. Сохранение Exchange Online почтового ящика

Этот сценарий будет наиболее применим, если почтовый ящик пользователя ранее был перенесен в Exchange Online, и каким-либо образом старый почтовый ящик был повторно подключен или новый почтовый ящик был подготовлен локально. Другой возможный сценарий — это преждевременное назначение лицензии на Exchange Online и создание нового облачного почтового ящика, когда у пользователя уже есть существующий почтовый ящик в локальной среде Exchange. Обязательно прочтите важное примечание в конце шага 8.

Чтобы использовать этот метод, выполните следующие действия.

  1. Откройте командную консоль Exchange, сохраните сведения о локальном почтовом ящике в файл, например "SMTP-адреса", "Устаревшие имена exchange DN", "Атрибуты Exchange" и т. д.

  2. Задайте ограничение перечисления в формате PowerShell на "неограниченный", чтобы убедиться, что значения атрибутов не усечены. Например:

    $formatenumerationlimit = -1
    Get-Mailbox "mailbox identity" | fl > mailboxinfo.txt
    
  3. Отключите локальный почтовый ящик:

    Disable-Mailbox "mailbox identity"
    
  4. Включите локального пользователя в качестве удаленного почтового ящика:

    Enable-RemoteMailbox "user identity" -RemoteRoutingAddress "user@contoso.mail.onmicrosoft.com"
    
  5. Восстановите все пользовательские прокси-адреса и любые другие атрибуты Exchange Server, которые были удалены при отключении почтового ящика (сравните с командлетом Get-Mailbox из шага 2).

  6. LegacyExchangeDN Добавьте значение предыдущего локального почтового ящика в прокси-адрес нового удаленного почтового ящика в качестве адреса x500. Для этого выполните следующий командлет:

    Примечание

    Значение LegacyExchangeDN параметра можно найти в файле, сохраненном на шаге 2.

    Set-RemoteMailbox -Identity "user identity" -EmailAddresses @{add="x500:/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=<user identity>"}
    
  7. Соберите идентификаторы GUID почтовых ящиков и базы данных:

    • Чтобы получить GUID отключенного почтового ExchangeGUID ящика, используйте значение параметра из файла, сохраненного на шаге 2.

    • Чтобы получить GUID локальной базы данных, используйте значение Database параметра из файла, сохраненного на шаге 2, а затем выполните следующий командлет:

      Get-MailboxDatabase "database identity" | fl *GUID*
      
    • Чтобы получить GUID облачного почтового ящика, выполните следующий командлет с помощью Exchange Online PowerShell:

      Get-Mailbox "user identity" | fl *ExchangeGUID*
      
  8. (Необязательно) Пометка GUID Exchange Online в удаленном почтовом ящике с помощью командной консоли Exchange (требуется, если вы хотите отключить почтовый ящик обратно в локальную среду).

    Set-RemoteMailbox "user identity" -ExchangeGuid "Exchange guid value of Exchange Online mailbox"
    
  9. Восстановите содержимое отключенного почтового ящика в Exchange Online с помощью Exchange Online PowerShell. В поле Учетные данные необходимо указать учетную запись локального администратора Exchange. Чтобы выполнить удаленное восстановление, администратор должен иметь одно из следующих условий:

    • Входить в группу администраторов домена в доменной службе Active Directory локальной организации.
    • Группе администраторов получателей Exchange в доменной службе Active Directory локальной организации.
    • Участник группы "Управление организацией" или "Управление получателями" в Exchange Server 2013 г. или более поздней версии.
    $cred = Get-Credential
    New-MailboxRestoreRequest -RemoteHostName "mail.contoso.com" -RemoteCredential $cred -SourceStoreMailbox "exchange guid of disconnected mailbox" -TargetMailbox "exchange guid of cloud mailbox" -RemoteDatabaseGuid "guid of on-premises database" -RemoteRestoreType DisconnectedMailbox
    

    Примечание

    Удаленное восстановление не поддерживается для Exchange Server 2010 г. Минимальная поддерживаемая версия — Exchange Server 2013 г.

Важно!

Так как New-MailboxRestoreRequest предназначено для работы в одной организации Exchange Server, задания восстановления между локальными серверами завершатся сбоем из-за неизбежного несоответствия между исходным и целевым почтовым ящиками ExchangeGuid. Запрос на восстановление почтового ящика завершится состоянием FailedOther, а отчет (из Get-MailboxRestoreRequestStatistics -IncludeReport) отобразит следующее сообщение об ошибке в итоговой записи отчета:

Get-MailboxRestoreRequest "<mailbox's ID>" | `
Get-MailboxRestoreRequestStatistics -IncludeReport | `
select -ExpandProperty Report | `
select -ExpandProperty Entries | `
select -Last 2 | `
select -Last 1

CreationTime               : mmmm/dddd/yyyy 12:16:36 AM
ServerName                 : YTBPR01MB4016
Type                       : Error
TypeInt                    : 4
Flags                      : Failure, Fatal
FlagsInt                   : 18
Message                    : Fatal error RecipientNotFoundPermanentException has occurred.
MessageData                : {0, 1, 0, 0...}
MessageBytes               : {10, 29, 70, 97...}
Failure                    : RecipientNotFoundPermanentException: Cannot find a recipient that has mailbox
                             GUID '2ed5d0ca-54e2-4226-xxxx-a48848e18c0f'.
BadItem                    :
ConfigObject               :
MailboxSize                :
SessionStatistics          :
ArchiveSessionStatistics   :
MailboxVerificationResults : {}
DivergenceFixupResults     : {}
DebugData                  :
Connectivity               :
SourceThrottleDurations    :
TargetThrottleDurations    :
UnknownElements            :
UnknownAttributes          :
XmlSchemaType              :
LocalizedString            : mmmm/dddd/yyyy 12:16:36 AM [YTBPR01MB4016] Fatal error
                             RecipientNotFoundPermanentException has occurred.
Identity                   :
IsValid                    : True
ObjectState                : New

Этот сбой можно игнорировать, а задание вместо этого рассматривать как успешное, если вторая по последняя запись в отчете показывает правильное количество скопированных элементов (например, ход копирования: 5000/5000 сообщений, 2,34 ГБ/2,34 ГБ). Например:

Get-MailboxRestoreRequest "<mailbox's ID>" | `
Get-MailboxRestoreRequestStatistics -IncludeReport | `
select -ExpandProperty Report | `
select -ExpandProperty Entries | `
select -Last 2 | `
select -First 1

CreationTime               : mmmm/dddd/yyyy 12:16:36 AM
ServerName                 : YTBPR01MB4016
Type                       : Informational
TypeInt                    : 0
Flags                      : None
FlagsInt                   : 0
Message                    : Copy progress: 799/799 messages, 25 MB (26,215,094 bytes)/25 MB (26,215,094
                             bytes), 0/0 folders completed.
MessageData                : {0, 1, 0, 0...}
MessageBytes               : {10, 68, 67, 111...}
Failure                    :
BadItem                    :
ConfigObject               :
MailboxSize                :
SessionStatistics          :
ArchiveSessionStatistics   :
MailboxVerificationResults : {}
DivergenceFixupResults     : {}
DebugData                  :
Connectivity               :
SourceThrottleDurations    :
TargetThrottleDurations    :
UnknownElements            :
UnknownAttributes          :
XmlSchemaType              :
LocalizedString            : mmmm/dddd/yyyy 12:16:36 AM [YTBPR01MB4016] Copy progress: 799/799 messages, 25 MB
                             (26,215,094 bytes)/25 MB (26,215,094 bytes), 0/0 folders completed.

Все элементы, сообщаемые в свойствах BadItemsEncountered, LargeItemsEncountered или MissingItemsEncountered (из Get-MailboxRestoreRequestStatistics), должны обрабатываться нормально, так как они были бы обнаружены независимо от того, был ли почтовый ящик перенесен с помощью пакета миграции или запроса на перемещение или через New-MailboxRestoreRequest.

Сценарий 2. Удаление данных почтового ящика Exchange Online

Сведения о почтовом ящике в Microsoft 365 могут больше не потребоваться. В этом случае дополнительные сведения о том, как полностью удалить сведения о почтовом ящике Exchange Online, см. в этой статье блога группы exchange.