Как выполнить миграцию с Office 365 на Office 365 (пошаговая инструкция)

Как перенести данные из Office 365 в Office 365 (пошаговая инструкция). Переход из одной среды Office 365 в другую требует тщательного планирования и выполнения, чтобы обеспечить плавный переход без потери целостности данных. Этот всесторонний руководство описывает пошаговый процесс миграции почтового ящика между организациями Office 365, акцентируя важные этапы. Следуя этим подробным шагам, организации оптимизируют свой путь миграции и минимизируют возможные нарушения в их повседневной деятельности. В этом руководстве мы описываем процесс миграции с использованием встроенного инструмента для миграции данных между арендаторами. Как и другие инструменты, у него есть свои плюсы (не требуется покупка сторонних инструментов) и минусы (не поддерживает миграцию общих папок, требует некоторых навыков написания сценариев PowerShell), и он подходит как для малых, так и для крупных предприятий.

Давайте начнем нашу статью Как перенести данные из Office 365 в Office 365.

Как перенести данные из Office 365 в Office 365

1. Предварительная оценка перед миграцией из Office 365 в Office 365

Прежде всего, убедитесь в сборе следующей информации:

  1. Использование правового удержания. Почтовые ящики и учетные записи OneDrive с примененной политикой удержания не могут быть перенесены в другой арендатор.
  2. Архивируйте почтовые ящики. Во время сопоставления атрибутов (показано ниже во время подготовки учетной записи), у пользователей, у которых архивированы почтовые ящики, должны совпадать атрибуты ExchangeGUID и ArchiveGUID в исходном и целевом доменах.
  3. Существующие делегирования разрешения Отправить от имени. Это разрешение не мигрируется и должно быть перенастроено после миграции. Если вы хотите использовать сценарий PowerShell для оценки списка делегирований, убедитесь, что преобразуете атрибут Distinguished Name (который не может быть использован в целевом домене) в какой-то атрибут, который остается таким же после миграции, например, отображаемое имя. Пример сценария, который можно использовать для сбора информации, приведен ниже (для его запуска сначала подключитесь к модулю Exchange Online PowerShell):
$delegatedmailboxes = get-mailbox -resultsize unlimited | ?{$_.GrantSendOnBehalfTo -ne $null} | select displayname,GrantSendOnBehalfTo

$FilePath = "C:\output\delegatee.csv" # используйте свой собственный путь к файлу, убедитесь, что папка существует
Add-Content -Value ("Delegator" + "," + "Delegatee") -Path $FilePath
foreach ($delegatedmailbox in $delegatedmailboxes) {
    $delegatees = $delegatedmailbox.GrantSendOnBehalfTo
    foreach ($delegatee in $delegatees) {
        $delegateeName = get-mailbox $delegatee
        $delegatedmailbox.Displayname + "," + $delegateeName.Displayname | out-file $FilePath -append
    }
}

Сценарий создает файл CSV, который содержит информацию о всех делегированиях разрешения Отправить от имени в домене. Файл можно использовать после миграции для восстановления делегирований. Обратите внимание, что файлы CSV используют запятую как разделитель, поэтому если запятая используется в атрибуте DisplayName пользователей в вашей компании, отрегулируйте сценарий соответственно (например, используйте табуляцию в качестве разделителя).

  1. Убедитесь, что у вас есть необходимые разрешения в обоих исходном и целевом арендаторах. Начальная конфигурация требует роли Администратор организации (для конфигурации отношений организации) и возможности зарегистрировать приложения в Azure AD (для регистрации приложения миграции на следующих этапах). Движение само по себе не требует высоких привилегий и может быть выполнено учетной записью с разрешением Перемещение почтового ящика.
  2. Убедитесь, что у вас есть необходимые лицензии в обоих исходном и целевом арендаторах. Вам понадобятся лицензии Microsoft 365 и лицензии на миграцию данных пользователей между арендаторами для всех пользователей, которые будут мигрированы. Убедитесь, что лицензии на миграцию данных пользователей между арендаторами назначены перед миграцией. В целевом арендаторе убедитесь, что лицензии Exchange Online не назначены до присвоения атрибута ExchangeGUID и прокси-адресов пользователю, так как это может вызвать сбой миграции (поскольку почтовому ящику будет присвоен другой GUID).
  3. Получите и запишите идентификатор арендатора для обоих арендаторов, как описано в статье Как найти идентификатор арендатора Microsoft 365.Также уведомите конечных пользователей о предполагаемых последствиях:

A note to users

Кроме того, уведомите конечных пользователей о предполагаемом влиянии:

  • Почтовый ящик будет находиться в режиме только для чтения на короткий период во время миграции.
  • Пользователям необходимо будет создать профиль Outlook на рабочих станциях и мобильных устройствах после миграции.
  • Приложения Microsoft 365 могут потребовать повторной активации.
  • Если OneDrive или SharePoint были отображены как сетевой диск, их необходимо будет повторно отобразить.
  • Существующие собрания Teams потребуется создать заново.
  • Группы Microsoft 365 не будут перенесены.

2. Регистрация приложения миграции в Microsoft Entra

Для того чтобы позволить Microsoft перемещать пользователей между двумя арендодателями, необходимо зарегистрировать приложение в Microsoft Entra (для тех, кто упустил обновление, Entra – это то, как Microsoft теперь называет Azure AD) целевого арендодателя и предоставить ему разрешение Mailbox.Migration . Кроме того, требуется создание секрета, который используется для создания конечной точки миграции (конечная точка миграции – это конфигурационная сущность, содержащая настройки и учетные данные для выполнения внешних миграций).

  1. Перейдите в админ-центр Microsoft Entra и войдите, используя учётную запись, которая может регистрировать приложения.
  2. Перейдите в раздел Приложения > Регистрация приложений и выберите Новая регистрация.
  1. В появившемся окне Регистрация приложения введите название (любое название подойдёт), выберите опцию Учетные записи в любом организационном каталоге (любой каталог Microsoft Entra – многоатрибутный) в качестве поддерживаемых типов учетных записей и укажите https://office.com в качестве веб-URI перенаправления, затем нажмите Зарегистрировать.
  1. Вернитесь на страницу Регистрация приложений и выберите созданное приложение.
  2. На открывшейся странице, во вкладке Обзор, найдите Идентификатор приложения (клиента) и запишите его для дальнейшего использования.
  1. Перейдите в раздел Разрешения для API и нажмите Добавить разрешение.
  1. В появившемся окне перейдите на вкладку API, используемые в моей организации и выберите Office 365 Exchange Online.
  1. Перейдите к Правам приложения, в списке выберите Почтовый ящик > Перенос почтового ящика и затем нажмите кнопку Добавить разрешения.
  1. После предоставления разрешений перейдите на вкладку Сертификаты и секреты (в боковой панели навигации страницы приложения) и в разделе Клиентские секреты выберите Новый клиентский секрет.
  1. Заполните оба поля и нажмите Добавить.
  1. Вернитесь на страницу Сертификаты и секреты, где вы увидите новый идентификатор секрета и пароль, запишите оба для будущего использования.

3. Подготовка целевого арендатора Office 365

На следующем шаге мы предоставляем административное согласие зарегистрированному приложению в целевом арендаторе, а затем создаем конечную точку миграции и отношение организации. Отношения организаций используются в Exchange Online для предоставления внешним сторонам доступа к внутренним ресурсам. Самое популярное использование этой функции – предоставление доступа на чтение к информации о календаре партнерской организации (для обмена статусом доступности), однако ее также можно использовать и для других типов доступа. В нашем случае мы предоставляем возможность перемещения почтового ящика.

  1. В центре администрирования Microsoft Entra перейдите к Приложениям > Приложениям предприятия.
  2. В списке приложений выберите созданное приложение миграции.
  3. Откроется страница приложения, перейдите на вкладку Разрешения и нажмите Предоставить административное согласие для [имя вашего арендатора].
  1. Страница приложения появляется, перейдите на вкладку Разрешения и нажмите Предоставить согласие администратора для [название вашего арендатора].
  1. Открывается новое окно браузера, примите предоставление разрешений.
  2. Для создания конечной точки миграции и отношения организации в целевом арендаторе откройте PowerShell и подключитесь к модулю Exchange Online.
  3. Затем проверьте, находится ли ваша организация Exchange в состоянии дегидратации. Если да, настройка параметров организации невозможна.
Get-OrganizationConfig | select isDehydrated
  1. Если вывод равен False, этот шаг можно пропустить, если True, выполните командлет Enable-OrganizationCustomization.
  2. Создайте конечную точку миграции:
$AppId = "[Application ID saved in step 2.5]"
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $AppId, `
(ConvertTo-SecureString -String "[secret password saved in step 2.11]" -AsPlainText -Force)
New-MigrationEndpoint -RemoteServer outlook.office.com -RemoteTenant ".onmicrosoft.com" `
-Credentials $Credential -ExchangeRemoteMove:$true -Name "MigrationEndpoint01" -ApplicationId $AppId

Где “<ИсходныйДомен>.onmicrosoft.com” – это домен, с которого вы собираетесь мигрировать пользователей

  1. Создать отношение организации (или изменить его, если отношение уже существует):
$sourceTenantId="[ID of the source tenant from step 1.6]"
$existingOrgRel = Get-OrganizationRelationship | ?{$_.DomainNames -like $sourceTenantId}
If ($null -ne $existingOrgRel) {
    Set-OrganizationRelationship $existingOrgRel.Name -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability Inbound
}
Else {
    New-OrganizationRelationship "SourceTenant" -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability Inbound -DomainNames $sourceTenantId
}

4. Подготовка исходного арендатора Microsoft 365

  1. Войдите в консоль администратора Microsoft Entra источника.
  2. Перейдите по URL-адресу https://login.microsoftonline.com/<TargetTenant>.onmicrosoft.com/adminconsent?client_id=[Идентификатор приложения]&redirect_uri=https://office.com, где <TargetTenant> замените доменным именем арендатора, к которому вы хотите переместить почтовые ящики, а Идентификатор приложения – тот, что был сохранен ранее.
  3. В открывшемся окне разрешите предоставление разрешений приложению.
  1. Подключитесь к Exchange Online PowerShell источника (если вы подготовили оба арендатора с одного и того же компьютера, вам нужно снова запустить Connect-ExchangeOnline с другим параметром UserPrincipalName).
  2. Повторите шаги 3.6 и 3.7 из предыдущего раздела для источника.
  3. Создайте новую почтовую группу безопасности . Используется для определения пользователей, которые будут перемещены:
$UserGroup="[name of the group]" ; New-DistributionGroup -Type Security -Name $UserGroup
  1. Создайте отношение организации (или измените его, если отношение уже существует):
$targetTenantId="[ID of the target tenant saved in step 1.6]"
$AppId="[Application ID]"
$existingOrgRel = Get-OrganizationRelationship | ?{$_.DomainNames -like $targetTenantId}
If ($null -ne $existingOrgRel) {
    Set-OrganizationRelationship $existingOrgRel.Name -Enabled:$true -MailboxMoveEnabled:$true `
    -MailboxMoveCapability RemoteOutbound -OAuthApplicationId $AppId -MailboxMovePublishedScopes $UserGroup
}
Else {
    New-OrganizationRelationship "TargetTenant" -Enabled:$true -MailboxMoveEnabled:$true -DomainNames $targetTenantId `
    -MailboxMoveCapability RemoteOutbound  -OAuthApplicationId $AppId -MailboxMovePublishedScopes $UserGroup
}
  1. Переместите всех пользователей, которые планируется перенести, в созданную в шаге 6 группу. Помните, что использование вложенной группы не рекомендуется.

5. Подготовка учетных записей пользователей в целевом арендаторе

Перемещение по арендаторам почтовых ящиков требует предварительного создания объектов MailUser в целевом домене. Объекты должны иметь атрибуты, соответствующие атрибутам исходного почтового ящика, более подробную информацию можно найти здесь. Убедитесь, что атрибут EmailAddresses настроен правильно: он должен содержать атрибут LegacyExchangeDN исходного почтового ящика в качестве прокси-адреса X500. Самый простой способ выполнить сопоставление атрибутов – использовать PowerShell.

  1. В сеансе PowerShell исходного арендатора запустите нижеприведенный сценарий для экспорта атрибутов пользователя в файл XML (в данном случае XML подходит лучше, чем CSV, потому что некоторые атрибуты являются массивами).
$UserAttributes = "C:\output\UserAttributes.xml" #используйте свой собственный путь к файлу, убедитесь, что папка существует
Get-DistributionGroupMember -ResultSize Unlimited $UserGroup | ForEach-Object {Get-Mailbox $_.DisplayName}| `
Select-Object PrimarySMTPAddress,Alias,SamAccountName,FirstName,LastName,DisplayName,Name,ExchangeGuid,`
ArchiveGuid,LegacyExchangeDn,EmailAddresses | Export-Clixml $UserAttributes
  1. Во время создания объектов MailUser указывайте пароли. Поэтому в целевой сессии PowerShell в арендаторе подготовьте некоторую функцию PowerShell для генерации паролей. Например, нижеприведенная функция создана на основе функции Get-RandomPassword, доступной в PowerShell Gallery.
$symbols = '!@#$%^&amp;*'.ToCharArray()
$characterList = @([char[]]([char]'a'..[char]'z'), [char[]]([char]'A'..[char]'Z'), [char[]]([char]'0'..[char]'9') + $symbols)

function Get-RandomPassword  {
    param(
        [ValidateRange(12, 256)]
        [int]
        $length = 16
    )

    do {
        $password = -join (0..$length | ForEach-Object { $characterList | Get-Random })
        [int]$hasLowerChar = $password -cmatch '[a-z]'
        [int]$hasUpperChar = $password -cmatch '[A-Z]'
        [int]$hasDigit = $password -match '[0-9]'
        [int]$hasSymbol = $password.IndexOfAny($symbols) -ne -1
    }
    until (($hasLowerChar + $hasUpperChar + $hasDigit + $hasSymbol) -ge 3)

    $password | ConvertTo-SecureString -AsPlainText -Force
}
  1. В целевой сессии PowerShell в арендаторе выполните следующий скрипт для создания объектов MailUser. Кроме того, он создает файл CSV, который используется при создании пакета миграции.
$MailUsers = Import-Clixml $UserAttributes
$Organization = "@.onmicrosoft.com" #используйте имя целевого арендатора
$CSVData = "C:\output\CSVData.csv" #используйте свой собственный путь к файлу, убедитесь, что папка существует
Add-Content -Value ("EmailAddress") -Path $CSVData
foreach ($MailUser in $MailUsers) {
    $SMTPAddress = $MailUser.Alias + $Organization
    $SMTPAddress  | out-file $CSVData -append
    $Password = Get-RandomPassword
    $x500 = "x500:" + $MailUser.LegacyExchangeDn
    $UserObject = New-MailUser -MicrosoftOnlineServicesID $SMTPAddress -PrimarySmtpAddress $SMTPAddress `
    -ExternalEmailAddress $MailUser.PrimarySmtpAddress -FirstName $MailUser.FirstName -LastName $MailUser.LastName `
    -Name $MailUser.Name -DisplayName $MailUser.DisplayName -Alias $MailUser.Alias -Password $Password
    $UserObject | Set-MailUser -EmailAddresses @{add = $x500 } -ExchangeGuid $MailUser.ExchangeGuid -ArchiveGuid $MailUser.ArchiveGuid
    $ProxyX500 = $MailUser.EmailAddresses | Where-Object { $_ -match "x500" }
    $ProxyX500 | ForEach-Object { Set-MailUser $MailUser.Alias -EmailAddresses @{add = "$_" } }
}
  1. После того, как вы убедитесь, что соответствующие объекты созданы в целевом арендаторе, назначьте лицензии Exchange Online пользователям.
  2. Для проверки конфигурации из сеанса PowerShell исходного арендатора выполните следующую команду:
Test-MigrationServerAvailability -EndPoint "MigrationEndpoint01" -TestMailbox "[primary SMTP address of the target user mailbox]"

6. Перенос учетных записей пользователей и завершение миграции

Во время миграции между арендаторами Office 365 используются пакеты миграции для перемещения почтовых ящиков. Пакет миграции представляет собой запрос на изменение местоположения перечисленных почтовых ящиков. Пакет создается с помощью Центра администрирования Exchange Online или с использованием командлета PowerShell New-MigrationBatch .

  1. Создайте пакет миграции из исходной сессии PowerShell арендатора. Убедитесь, что путь к ранее созданному файлу CSV указан правильно.
New-MigrationBatch -Name Batch01 -SourceEndpoint "MigrationEndpoint01" -CSVData ([System.IO.File]::ReadAllBytes("C:\output\CSVData.csv"))`
-Autostart -TargetDeliveryDomain .onmicrosoft.com

Обратите внимание, что Microsoft не рекомендует использовать пакеты с более чем 2000 пользователями. Если у вас большое количество почтовых ящиков для перемещения, создайте несколько пакетов.

  1. Отслеживайте прогресс перемещения пакета с помощью PowerShell (используя командлет Get-MigrationStatistics) или в центре администрирования Exchange Online (войдите на сайт https://admin.exchange.microsoft.com/ и перейдите к разделу Главная> Пакеты миграции), обращайте внимание на ошибки и предупреждения.
  2. После этого используйте файл с информацией о делегировании, созданный ранее, для повторной настройки разрешений Отправка от имени. Для этого выполните следующее в сессии PowerShell целевого арендатора:
$delegateelist = Import-Csv "C:\output\delegatee.csv"
foreach ($mailbox in $delegateelist ) {
    Set-Mailbox $mailbox.Delegator -GrantSendOnBehalfTo $mailbox.delegatee)
}

По завершении всех шагов необходимо удалить созданный конечный точку миграции и связь организации.

Как завершить миграцию Office 365 в Office 365

Успешная миграция почтовых ящиков между средами Office 365 требует тщательной оценки и точного выполнения нескольких шагов. Это руководство предоставляет комплексный план для ИТ-специалистов по навигации по важным соображениям, разрешениям и настройке миграции. Следуя этим шагам, организации проводят гладкий и эффективный процесс миграции почтовых ящиков, обеспечивая минимальное время простоя и сохраняя целостность данных.

Source:
https://infrasos.com/how-to-office-365-to-office-365-migration/