Exchange: Перенос ящиков в другую базу
Общая
Перенос ящиков в Microsoft Exchange начиная с 2013 выпуска доступен в веб-интерфейсе управления. Просто выбираешь нужные ящики и нажимаешь "В другую базу". Но что делать, если данный способ по каким-то причинам не работает? Рассмотрим ниже.
На помощь приходит Exchange Management Shell.
Команды на перенос ящиков
Не забываем менять значения mail@example.com, ExampleDB1 и ExampleDB2 на свои.
Команда переноса определенного ящика в определенную базу:
New-MoveRequest -identity "mail@ example.com" -TargetDatabase "ExampleDB2"
Команда переноса всех ящиков одной базы в другую:
Get-Mailbox -Database ExampleDB1 | New-MoveRequest -TargetDatabase "ExampleDB2"
Переносим ящики по списку в CSV-формате:
Сначала создадим CSV-файл:
Get-Mailbox -Database ExampleDB1 | Select PrimarySMTPAddress | Export-CSV c:\temp\mailboxes.csv -NoTypeInformation -Encoding UTF8
После создания необходимо открыть файл (Блокнот, Excel) и поменять заголовок столбца на "EmailAddress"
и сохранить.
Перенос по списку осуществляется командой:
New-MigrationBatch -Local -Name MoveToNewDB -CSVData ([System.IO.File]::ReadAllBytes("c:\temp\mailboxes.csv")) -TargetDatabases ExampleDB2; Start-MigrationBatch -Identity MoveToNewDB
Ну и конечно же проверить все можно следующими командами.
Вывод списка ящиков, находящихся в процессе перемещения:
Get-MoveRequest -movestatus inprogress
Вывод списка ящиков, находящиеся в процессе ожидания:
Get-MoveRequest -movestatus queued
Вывод отчета о перемещении ящика:
Get-MigrationUser mail@ example.com | Get-MigrationUserStatistics
Или вывод отчета по всем имеющимся ящикам:
Get-MigrationUser | Get-MigrationUserStatistics
Отменить перемещение
Remove-MoveRequest -Identity example@ domain.com
- Просмотров: 14214