Восстановление, если почтовый ящик существует как в Exchange Online, так и в локальной среде
В Microsoft Exchange Server гибридном развертывании у пользователя может быть почтовый ящик как в Exchange Online, так и в локальной организации Exchange. Это состояние не является желать для гибридной организации, так как оно создаст проблемы с потоком обработки почты. В этом случае сообщения будут доставлены в почтовый ящик, соответствующий расположению отправителя. Если отправитель находится в вашей локальной организации, сообщения будут доставлены в локальный почтовый ящик. Если отправитель находится в клиенте Exchange Online, сообщения будут доставлены в почтовый ящик Exchange Online.
Чтобы устранить эту проблему с потоком обработки почты, рекомендуется обратиться к методам, указанным в этой статье. Другие возможные варианты используют методы восстановления, которые не гарантированно работают. По мере того как Microsoft 365 продолжает развиваться и добавляются новые функции, могут появиться дополнительные параметры. Эта статья будет обновлена с учетом дополнительных методов коррекции по мере их доступности.
Этот сценарий будет наиболее применим, если почтовый ящик пользователя ранее был перенесен в Exchange Online, и каким-либо образом старый почтовый ящик был повторно подключен или новый почтовый ящик был подготовлен локально. Другой возможный сценарий — это преждевременное назначение лицензии на Exchange Online и создание нового облачного почтового ящика, когда у пользователя уже есть существующий почтовый ящик в локальной среде Exchange. Обязательно прочтите важное примечание в конце шага 8.
Чтобы использовать этот метод, выполните следующие действия.
Откройте командную консоль Exchange, сохраните сведения о локальном почтовом ящике в файл, например "SMTP-адреса", "Устаревшие имена exchange DN", "Атрибуты Exchange" и т. д.
Задайте ограничение перечисления в формате PowerShell на "неограниченный", чтобы убедиться, что значения атрибутов не усечены. Например:
$formatenumerationlimit = -1 Get-Mailbox "mailbox identity" | fl > mailboxinfo.txt
Отключите локальный почтовый ящик:
Disable-Mailbox "mailbox identity"
Включите локального пользователя в качестве удаленного почтового ящика:
Enable-RemoteMailbox "user identity" -RemoteRoutingAddress "user@contoso.mail.onmicrosoft.com"
Восстановите все пользовательские прокси-адреса и любые другие атрибуты Exchange Server, которые были удалены при отключении почтового ящика (сравните с командлетом
Get-Mailbox
из шага 2).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>"}
Соберите идентификаторы GUID почтовых ящиков и базы данных:
Чтобы получить GUID отключенного почтового
ExchangeGUID
ящика, используйте значение параметра из файла, сохраненного на шаге 2.Чтобы получить GUID локальной базы данных, используйте значение
Database
параметра из файла, сохраненного на шаге 2, а затем выполните следующий командлет:Get-MailboxDatabase "database identity" | fl *GUID*
Чтобы получить GUID облачного почтового ящика, выполните следующий командлет с помощью Exchange Online PowerShell:
Get-Mailbox "user identity" | fl *ExchangeGUID*
(Необязательно) Пометка GUID Exchange Online в удаленном почтовом ящике с помощью командной консоли Exchange (требуется, если вы хотите отключить почтовый ящик обратно в локальную среду).
Set-RemoteMailbox "user identity" -ExchangeGuid "Exchange guid value of Exchange Online mailbox"
Восстановите содержимое отключенного почтового ящика в 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.
Сведения о почтовом ящике в Microsoft 365 могут больше не потребоваться. В этом случае дополнительные сведения о том, как полностью удалить сведения о почтовом ящике Exchange Online, см. в этой статье блога группы exchange.