Использование последовательной миграции для переноса общедоступных папок в Exchange 2013 из предыдущих версий

 

**Применимо к:**Exchange Server 2013

**Последнее изменение раздела:**2016-12-19

В этом разделе описана миграция общедоступных папок из Exchange Server 2010 с пакетом обновления 3 (SP3) или Exchange 2007 с пакетом обновления 3 (SP3) RU10 в Microsoft Exchange Server 2013 в пределах одного леса.

Предупреждение

Майкрософт больше не поддерживает метод последовательной миграции, описанный в этой статье. Для переноса общедоступных папок прежних версий в Exchange 2013 следует использовать метод пакетной миграции. Дополнительные сведения см. в разделе Использование пакетной миграции для переноса общедоступных папок в Exchange 2013 из предыдущих версий.

ПримечаниеПримечание.
В этом разделе серверы Exchange 2010 с пакетом обновления 3 (SP3) и Exchange 2007 с пакетом обновления 3 (SP3) RU10 называются сервер Exchange Server прежних версий.

Миграция выполняется с помощью командлетов *PublicFolderMigrationRequest (которые для осуществления задач миграции используют службу репликации почтовых ящиков Microsoft Exchange), а также такие сценарии PowerShell:

  • Export-PublicFolderStatistics.ps1: этот сценарий создает файл сопоставления имени и размера папки.

  • Export-PublicFolderStatistics.psd1: этот файл поддержки используется сценарием Export-PublicFolderStatistics.ps1, его необходимо загрузить в то же расположение.

  • PublicFolderToMailboxMapGenerator.ps1: этот сценарий создает файл сопоставления общедоступных папок и почтовых ящиков.

  • PublicFolderToMailboxMapGenerator.strings.psd1: этот файл поддержки используется сценарием PublicFolderToMailboxMapGenerator.ps1, его необходимо загрузить в то же расположение.

Шаг 1. Загрузка сценариев переноса содержит сведения о том, куда загружать эти сценарии.

Дополнительные сведения о задачах управления, связанных с общедоступными папками, см. в статье Процедуры с общедоступными папками.

Дополнительные сведения о миграции общедоступных папок в службу Exchange Online см. в статье Использование пакетной миграции для переноса устаревших общедоступных папок в Office 365 и Exchange Online.

Какие версии Exchange поддерживают миграцию общедоступных папок в Exchange 2013

Exchange поддерживает перемещение ваших общедоступных папок из таких прежних версий Exchange Server:

  • Exchange Server 2010 с пакетом обновления 3 (SP3)

  • Exchange Server 2007 с пакетом обновления 3 (SP3) RU10

Выполнить миграцию общедоступных папок непосредственно из Exchange 2003 невозможно. Если в вашей организации используется Exchange 2003, переместите все базы данных и реплики общедоступных папок в Exchange 2007 с пакетом обновления 3 (SP3) RU10 или более позднюю версию. В Exchange 2003 не должно оставаться реплик общедоступных папок.

Что нужно знать перед началом работы

  • Перед началом этого процесса вам необходимо получить такие разрешения:

    • В Exchange 2013 вам необходимо быть членом группы ролей "Управление организацией". Дополнительные сведения см. в статье Управление группами ролей.

    • В Exchange 2010 вам необходимо быть членом группы ролей "Управление организацией" или "Управление сервером". Дополнительные сведения см. в статье Добавление членов в группу ролей.

    • В Exchange 2007 вам необходима роль администратора организации Exchange или администратора сервера Exchange Server. Кроме того, вам необходима роль администратора общих папок, а также вы должны входить в локальную группу администраторов целевого сервера. Дополнительные сведения см. в статье Инструкции по добавлению пользователя или группы в роль администратора.

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

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

  • Перед началом мы советуем вам полностью прочитать этот раздел, поскольку при выполнении некоторых действий требуется простой.

  • Перед миграцией общедоступных папок сначала рекомендуется переместить все почтовые ящики пользователей в Exchange 2013. Почтовые ящики на старых серверах Exchange не смогут получить доступ к общим папкам на серверах Exchange 2013. Дополнительные сведения см. в разделе Перемещение почтовых ящиков в Exchange 2013.

  • При работе с сервером Exchange 2007 необходимо выполнить обновление до Windows PowerShell 2.0 и WinRM 2.0 для Windows Server 2008 x64 Edition.

  • Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange.

СоветСовет.
Возникли проблемы? Обратитесь за помощью к участникам форумов, посвященных Exchange. Посетите форумы по таким продуктам: Exchange Server, Exchange Online или Exchange Online Protection.

Как это сделать

Шаг 1. Загрузка сценариев переноса

  1. Скачайте все четыре сценария миграции общедоступных папок Microsoft Exchange 2013.

  2. Сохраните сценарии на локальном компьютере, с которого вы планируете запустить PowerShell. Например, в папку C:\PFScripts.

Действие 2. Подготовка к миграции

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

Предварительные действия на сервере Exchange прежней версии

  1. Для проверки при завершении миграции мы советуем вам выполнить следующие команды командной консоли на сервере Exchange прежней версии, чтобы сделать моментальные снимки текущих развертываемых общедоступных папок.

    1. Выполните следующую команду, чтобы сделать моментальный снимок начальной структуры исходных папок.

      Get-PublicFolder -Recurse | Export-CliXML C:\PFMigration\Legacy_PFStructure.xml
      
    2. Выполните следующую команду, чтобы сделать моментальный снимок статистики общедоступных папок, такой как число элементов, размер и владелец.

      Get-PublicFolderStatistics | Export-CliXML C:\PFMigration\Legacy_PFStatistics.xml
      
    3. Выполните следующую команду, чтобы сделать моментальный снимок разрешений.

      Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:\PFMigration\Legacy_PFPerms.xml
      

    Сохраните информацию, полученную в результате выполнения этих команд, для сравнения в конце процесса миграции.

  2. Если имя общедоступной папки содержит обратную косую черту (\), то после миграции общедоступные папки будут созданы внутри родительской общедоступной папки. Мы советуем вам перед миграцией переименовать общедоступные папки с обратной косой чертой в имени.

    1. Чтобы найти общедоступные папки с обратной косой чертой в имени, на сервере Exchange 2010 выполните следующую команду:

      Get-PublicFolderStatistics -ResultSize Unlimited | Where {$_.Name -like "*\*"} | Format-List Name, Identity
      
    2. Чтобы найти общедоступные папки с обратной косой чертой в имени, на сервере Exchange 2007 выполните следующую команду:

      Get-PublicFolderDatabase | ForEach {Get-PublicFolderStatistics -Server $_.Server | Where {$_.Name -like "*\*"}}
      
    3. Если эта команда возвращает сведения об общедоступных папках, переименуйте их с помощью такой команды:

      Set-PublicFolder -Identity <public folder identity> -Name <new public folder name>
      
  3. Убедитесь в отсутствии записи о предыдущей успешной миграции. В противном случае следует установить значение $false. Если задано значение $true, запрос на миграцию завершится с ошибкой.

    В следующем примере проверяется состояние миграции общедоступных папок.

    Get-OrganizationConfig | Format-List PublicFoldersLockedforMigration, PublicFolderMigrationComplete
    

    Если для свойства PublicFoldersLockedforMigration или PublicFolderMigrationComplete установлено состояние $true, выполните следующую команду, чтобы установить значение $false.

    Set-OrganizationConfig -PublicFoldersLockedforMigration:$false -PublicFolderMigrationComplete:$false
    
    ПредупреждениеПредупреждение.
    После сброса этих свойств необходимо дождаться обнаружения новых параметров системой Exchange. Это может занять несколько минут.

Подробные сведения о синтаксисе и параметрах см. в следующих разделах:

Предварительные действия на сервере Exchange 2013

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

    Get-PublicFolderMigrationRequest | Remove-PublicFolderMigrationRequest -Confirm:$false
    
  2. Чтобы убедиться в отсутствии существующих общедоступных папок на серверах Exchange 2013, выполните следующие команды.

    Get-Mailbox -PublicFolder 
    
    Get-PublicFolder
    

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

    Get-Mailbox -PublicFolder | Where{$_.IsRootPublicFolderMailbox -eq $false} | Remove-Mailbox -PublicFolder -Force -Confirm:$false
    
    Get-Mailbox -PublicFolder | Remove-Mailbox -PublicFolder -Force -Confirm:$false
    

Подробные сведения о синтаксисе и параметрах см. в таких разделах:

Действие 3. Создание CSV-файлов

  1. На сервере Exchange Server прежних версий запустите сценарий Export-PublicFolderStatistics.ps1, чтобы создать файл сопоставления имени и размера папки. Этот файл будет иметь два столбца: FolderName и FolderSize. Значения для столбца FolderSize будут приведены в отображаемых байтах. Например, \PublicFolder01,10000.

    .\Export-PublicFolderStatistics.ps1 <Folder to size map path> <FQDN of source server>
    
    • FQDN of source server указывает полное доменное имя сервера почтовых ящиков, на котором размещена иерархия общедоступных папок.

    • Folder to size map path указывает имя файла и путь к этому файлу в сетевой общедоступной папке, в которой необходимо сохранить CSV-файл. Вам потребуется получить доступ к этому файлу с сервера Exchange 2013. Если указать только имя файла, файл будет создан в текущем расположении.

  2. Запустите сценарий PublicFolderToMailboxMapGenerator.ps1, чтобы создать файл сопоставления общедоступных папок и почтовых ящиков. Этот файл используется для создания правильного числа почтовых ящиков с общедоступными папками на сервере почтовых ящиков Exchange 2013.

    ПримечаниеПримечание.
    Если имя общедоступной папки содержит обратную косую черту (\), то общедоступные папки будут созданы внутри родительской общедоступной папки. Мы советуем вам просмотреть CSV-файл и изменить имена папок с обратной косой чертой.
    .\PublicFolderToMailboxMapGenerator.ps1 <Maximum mailbox size in bytes> <Folder to size map path> <Folder to mailbox map path>
    
    • Maximum mailbox size in bytes указывает максимальный размер новых почтовых ящиков с общедоступными папками.

      ПримечаниеПримечание.
      Указывая значение данного параметра, обязательно оставьте свободное место на случай увеличения размера почтового ящика с общедоступными папками.
    • Folder to size map path указывает путь к CSV-файлу, созданному при запуске сценария Export-PublicFolderStatistics.ps1.

    • Folder To mailbox map path указывает имя и путь CSV-файла сопоставления папок с почтовыми ящиками, который будет создан в результате данного действия. Если указать только имя файла, файл будет создан в текущем расположении.

Действие 4. Создание почтовых ящиков общедоступной папки на сервер Exchange 2013

ПредупреждениеПредупреждение.
Имя созданных почтовых ящиков общедоступной папки должно соответствовать имени TargetMailbox в файле сопоставления. Имена TagetMailbox в файле сопоставления можно изменять в соответствии с принятым в организации форматом имен.
  1. Выполните следующую команду, чтобы создать первый почтовый ящик с общедоступными папками на сервере почтовых ящиков Exchange 2013. Иерархия общих папок хранится в почтовом ящике общих папок, а общая папка содержит сам контент. Первый созданный вами ящик общих папок будет основным почтовым ящиком иерархии. Первый почтовый ящик с общедоступными папками необходимо создать в режиме HoldForMigration.

    New-Mailbox -PublicFolder <Name> -HoldForMigration:$true
    
  2. Выполните следующую команду, чтобы создать дополнительные почтовые ящики с общедоступными папками, требуемые согласно CSV-файлу, который был создан сценарием PublicFoldertoMailboxMapGenerator.ps1. Например, если открыть CSV-файл, общедоступные папки будут названы Mailbox1, Mailbox2 и т. д. Если последняя общедоступная папка называется Mailbox13, необходимо создать 13 почтовых ящиков с общедоступными папками.

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

    $numberOfMailboxes = 25; 
    
    for($index =1 ; $index -le $numberOfMailboxes ; $index++)
    
    {
    
        $PFMailboxName = "Mailbox"+$index; 
     if($index -eq 1) {New-Mailbox -PublicFolder $PFMailboxName -HoldForMigration:$true -IsExcludedFromServingHierarchy:$true;}
    else
    {New-Mailbox -PublicFolder $PFMailboxName -IsExcludedFromServingHierarchy:$true}
    }
    

Дополнительные сведения о синтаксисе и параметрах см. в разделе New-Mailbox.

Действие 5. Запуск запроса на миграцию

Действия для миграции общедоступных папок из Exchange 2007 отличаются от действий для миграции из Exchange 2010. Убедитесь, что вы выбрали правильные действия.

Миграция общедоступных папок из Exchange 2007

  1. Общедоступные папки в системах предыдущих версий, например OWAScratchPad и поддерево папок корневой схемы в Exchange 2007, не распознаются Exchange 2013 и обрабатываются как неправильные элементы. Это приведет к завершению миграции с ошибкой. Как часть запроса на миграцию необходимо указать значение параметра BadItemLimit. Это значение будет разным для разного количества существующих баз данных общедоступных папок. Приведенные ниже команды помогут вам определить количество существующих баз данных общедоступных папок и определить значение параметра BadItemLimit для запроса на миграцию.

    $PublicFolderDatabasesInOrg = @(Get-PublicFolderDatabase)
    
    $BadItemLimitCount = 5 + ($PublicFolderDatabasesInOrg.Count -1)
    
  2. На сервере почтовых ящиков Exchange 2013 выполните следующую команду:

    New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server <Source server name>) -CSVData (Get-Content <Folder to mailbox map path> -Encoding Byte) -BadItemLimit $BadItemLimitCount
    
  3. Чтобы убедиться, что миграция успешно запущена, выполните следующую команду.

    Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | Format-List
    

    Вы узнаете, что команда успешно запущена, когда запрос на миграцию достигнет состояния Queued или InProgress. В зависимости от объема данных в общедоступных папках на выполнение этой команды может потребоваться значительное время. Если миграция не регулируется из-за нагрузки на целевой сервер, обычная скорость копирования данных может составлять от 2 до 3 ГБ в час.

  4. Периодически можно выполнять указанную выше команду для проверки состояния запроса на миграцию. Когда состояние достигнет значения AutoSuspended, можно переходить к Действие 6. Блокировка общедоступных папок на сервере Exchange предыдущей версии для окончательной миграции (требуется простой в работе).

Миграция общедоступных папок из Exchange 2010

  1. На сервере почтовых ящиков Exchange 2013 выполните следующую команду:

    New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server <Source server name>) -CSVData (Get-Content <Folder to mailbox map path> -Encoding Byte)
    
  2. Чтобы убедиться, что миграция успешно запущена, выполните следующую команду.

    Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | Format-List
    

    Вы узнаете, что команда успешно запущена, когда запрос на миграцию достигнет состояния Queued или InProgress. В зависимости от объема данных в общедоступных папках на выполнение этой команды может потребоваться значительное время. Если миграция не регулируется из-за нагрузки на целевой сервер, обычная скорость копирования данных может составлять от 2 до 3 ГБ в час.

  3. Периодически можно выполнять указанную выше команду для проверки состояния запроса на миграцию. Когда состояние достигнет значения AutoSuspended, можно переходить к Действие 6. Блокировка общедоступных папок на сервере Exchange предыдущей версии для окончательной миграции (требуется простой в работе).

Подробные сведения о синтаксисе и параметрах см. в таких разделах:

Действие 6. Блокировка общедоступных папок на сервере Exchange предыдущей версии для окончательной миграции (требуется простой в работе)

ПредупреждениеПредупреждение.
Длительность необходимого простоя зависит от объема нового содержимого, созданного с момента достижения состояния миграции AutoSuspended. Если между моментом достижения запросом на миграцию состояния AutoSuspended и моментом, когда миграцию можно завершить, прошло много времени, мы советуем выполнить указанную ниже команду для синхронизации изменений, которые были сделаны после исходной синхронизации. Это уменьшит время простоя, которое необходимо для завершения миграции.
Resume-PublicFolderMigrationRequest \PublicFolderMigration

До этого этапа в процессе миграции пользователи могли обращаться к общедоступным папкам. В следующих действиях выполняется выход пользователей из общедоступных папок и блокировка этих папок до окончания итоговой синхронизации в рамках миграции. В это время пользователи не смогут обратиться к общедоступным папкам. Кроме того, все сообщения, отправленные в общедоступные папки с поддержкой почты, будут занесены в очередь и не будут доставлены до окончания миграции общедоступных папок.

На сервере Exchange прежних версий выполните следующую команду для блокировки старых общедоступных папок для завершения процесса.

Set-OrganizationConfig -PublicFoldersLockedForMigration:$true

Дополнительные сведения о синтаксисе и параметрах см. в статье Set-OrganizationConfig.

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

Действие 7. Завершение миграции общедоступных папок (требуется простой в работе)

По умолчанию при выполнении командлета Set-PublicFolderMigrationRequest он не завершит работу, пока вы не удалите флаг PreventCompletion и не возобновите запрос на миграцию.

Set-PublicFolderMigrationRequest -Identity \PublicFolderMigration -PreventCompletion:$false

Resume-PublicFolderMigrationRequest -Identity \PublicFolderMigration

Дополнительные сведения о синтаксисе и параметрах см. в разделах Set-PublicFolderMigrationRequest и Resume-PublicFolderMigrationRequest.

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

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

  1. Выполните следующую команду в командной консоли на сервере Exchange 2013, чтобы настроить для тестовых почтовых ящиков использование любого почтового ящика с общедоступными папками после миграции как ящика с общедоступными папками по умолчанию.

    Set-Mailbox -Identity <Test User> -DefaultPublicFolderMailbox <Public Folder Mailbox Identity>
    
  2. Войдите в Outlook 2007 или более поздней версии с помощью тестового пользователя, определенного во время предыдущего действия, и выполните такие тесты общедоступной папки:

    1. просмотр иерархии;

    2. проверка разрешений;

    3. создание и удаление общедоступных папок;

    4. помещение содержимого в общедоступную папку и его удаление.

  3. Если возникнут проблемы, см. раздел Откат миграции далее в этой статье. Если содержимое и иерархия общедоступных папок приемлемые и работают надлежащим образом, выполните указанную ниже команду, чтобы разблокировать общедоступные папки для остальных пользователей.

    Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false
    
  4. На сервере Exchange прежних версий выполните приведенную ниже команду, чтобы указать завершение миграции общедоступных папок:

    Set-OrganizationConfig -PublicFolderMigrationComplete:$true
    
  5. После проверки завершения миграции выполните следующую команду в командной консоли на сервере Exchange 2013, чтобы убедиться, что параметр PublicFoldersEnabledSet-OrganizationConfig имеет значение Local:

    Set-OrganizationConfig -PublicFoldersEnabled Local
    

Как проверить, что это работает

В Действие 2. Подготовка к миграции указывалось, что перед началом миграции необходимо сделать моментальные снимки структуры, статистики и разрешений общедоступных папок. С помощью приведенных ниже действий можно проверить успешность миграции общедоступных папок, сделав такие же моментальные снимки после завершения миграции. Затем можно сравнить данные в обоих файлах, чтобы проверить успешность.

  1. Выполните следующую команду, чтобы сделать моментальный снимок начальной структуры исходных папок.

    Get-PublicFolder -Recurse | Export-CliXML C:\PFMigration\New_PFStructure.xml
    
  2. Выполните следующую команду, чтобы сделать моментальный снимок статистики общедоступных папок, такой как число элементов, размер и владелец.

    Get-PublicFolderStatistics | Export-CliXML C:\PFMigration\New_PFStatistics.xml
    
  3. Выполните следующую команду, чтобы сделать моментальный снимок разрешений.

    Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:\PFMigration\New_PFPerms.xml
    

Удаление баз данных общедоступных папок с серверов Exchange прежних версий

После окончания переноса и проверки надлежащей работы общедоступных папок на сервере Exchange 2013 необходимо удалить базы данных общедоступных папок с серверов Exchange прежних версий.

Откат миграции

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

ПредупреждениеПредупреждение.
После окончания миграции электронные сообщения для общедоступных папок с включенной поддержкой почты, изменения разрешений или иерархии общедоступных папок или содержимое, размещенное в общедоступных папках после миграции на сервер Exchange 2013 будут утрачены. Таким образом, если выполнить откат миграции, можно потерять данные общедоступных папок или изменения, сделанные на серверах Exchange 2013. Чтобы сохранить это содержимое, перед выполнением данной процедуры выполните его экспорт в PST-файл и импортируйте этот PST-файл после отката до общедоступных папок прежней версии.
  1. На сервере Exchange прежних версий выполните следующую команду для разблокировки общедоступных папок на сервере Exchange прежних версий. Этот процесс может занять несколько часов.

    Set-OrganizationConfig -PublicFoldersLockedForMigration:$False
    
  2. На сервере Exchange 2013 выполните эту команду для удаления почтовых ящиков с общедоступными папками.

    Get-Mailbox -PublicFolder | Where{$_.IsRootPublicFolderMailbox -eq $false} | Remove-Mailbox -PublicFolder -Force -Confirm:$false
    
    
    Get-Mailbox -PublicFolder | Remove-Mailbox -PublicFolder -Force -Confirm:$false
    
    
  3. На сервере Exchange прежних версий выполните такую команду, чтобы для флага PublicFolderMigrationComplete установить значение $false.

    Set-OrganizationConfig -PublicFolderMigrationComplete:$False