Перемещение почтовых ящиков с помощью сценария MoveMailbox.ps1 в консоли

 

Применимо к: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Последнее изменение раздела: 2015-03-09

Как и командлет Move-Mailbox в Microsoft Exchange Server 2007, сценарий MoveMailbox.ps1 позволяет синхронно управлять перемещением почтовых ящиков. По умолчанию сценарии устанавливаются в каталог C:\Program Files\Microsoft\Exchange Server\V14\Scripts.

ПримечаниеПримечание.
Этот сценарий можно использовать только для локальных перемещений. Его невозможно использовать для удаленных перемещений (между лесами). Сведения о перемещениях удаленных почтовых ящиков см. в разделе Подготовка почтовых ящиков для запросов на перемещение между лесами.

С помощью сценария MoveMailbox.ps1 можно выполнить следующие задачи.

  1. Создать запрос на локальное перемещение.

  2. Дождаться завершения перемещения почтового ящика.

  3. Удалить запрос на перемещение после его завершения.

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

ПримечаниеПримечание.
В командной консоли Exchange сценарии не загружаются автоматически. Перед каждым сценарием необходимо вводить символ «.\». Например, чтобы выполнить сценарий MoveMailbox.ps1, введите .\MoveMailbox.ps1.

Дополнительные сведения об использовании и написании сценариев см. в разделе Создание сценариев в среде управления Exchange.

Необходимы сведения о других задачах управления, связанных с запросами на перемещение? См. раздел Управление запросами на перемещение.

Использование сценария MoveMailbox.ps1 для перемещения указанных почтовых ящиков

Для выполнения этой процедуры необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в разделе Запись «Перемещения почтовых ящиков» в разделе Разрешения для почтового ящика.

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

MoveMailbox.ps1 -Identity <Object> -DatabaseMap <Hashtable> -TargetDatabase <Object> [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]
Параметр Обязательный Описание

DatabaseMap

Обязательный

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

  • Используйте следующую синтаксическую конструкцию: @{"<SourceDatabase>"="<TargetDatabase>"}

  • Имя SourceDatabase должно соответствовать имени базы данных, как указано в командлете Get-Mailbox.

  • Можно включить несколько сопоставлений баз данных. Разделите несколько сопоставлений точкой с запятой (;), например, @ {"DB1"="DBA";"DB2"="DBB"}

ПримечаниеПримечание.
Этот параметр невозможно использовать вместе с параметром TargetDatabase. Если при передаче по конвейеру команды пользователь соответствует идентификатору в командлете Get-Mailbox, но не соответствует исходной базе данных в командлете DatabaseMap, почтовый ящик этого пользователя будет пропущен.

Identity

Обязательный

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

  • ADObjectID

  • Псевдоним

  • Различающееся имя (DN)

  • Домен\учетная запись

  • Идентификатор GUID

  • Имя LegacyExchangeDN

  • SMTP-адрес

  • Имя участника-пользователя

ПримечаниеПримечание.
Параметр Identity можно передать по конвейеру с помощью командлета Get-Mailbox.

TargetDatabase

Обязательный

Параметр TargetDatabase указывает идентификатор базы данных, в которую перемещается почтовый ящик. Он может иметь следующие значения.

  • Идентификатор GUID

  • Различающееся имя (DN)

  • Имя сервера\базы данных

  • Имя базы данных

ПримечаниеПримечание.
Этот параметр невозможно использовать вместе с параметром DatabaseMap.

AutoSuspend

Необязательный

Параметр AutoSuspend указывает, необходимо ли приостанавливать запрос на перемещение перед достижением состояния CompletionInProgress. После приостановки перемещения оно имеет состояние AutoSuspended. При использовании этого параметра необходимо завершить перемещение с помощью командлета Resume-MoveRequest.

BadItemLimit

Необязательный

Параметр BadItemLimit указывает число пропускаемых неправильных элементов при обнаружении в почтовом ящике повреждения запроса на перемещение. Используйте значение 0, чтобы не пропускать неправильные элементы. Используйте значение -1, чтобы пропускать неограниченное количество неправильных элементов. Допустимый диапазон вводимых значений для этого параметра: от -1 до 2,147,483,647. Значение по умолчанию — 0. Рекомендуется сохранять значение по умолчанию 0 и изменять только значение параметра BadItemLimit, если запрос на перемещение завершается с ошибкой.

DomainController

Необязательный

Параметр DomainController указывает полное доменное имя (FQDN) контроллера домена, который записывает это изменение конфигурации в Служба каталогов Active Directory.

PollInterval

Необязательный

Параметр PollInterval указывает время ожидания проверки выполнения запроса на перемещение (в секундах). Например, если для параметра PollInterval установлено значение 180, сценарий MoveMailbox.ps1 будет проверять состояние запросов на перемещение каждые 3 минуты до тех пор, пока перемещение не достигнет состояния «Завершено». Значение параметра по умолчанию равно 10 секундам.

StartBatchSize

Необязательный

Параметр StartBatchSize указывает частоту запуска перемещений почтовых ящиков для балансировки нагрузки. Этот параметр применяется только при одновременном перемещении нескольких почтовых ящиков. Например, если при перемещении 15 почтовых ящиков для этого параметра установлено значение 10, после перемещения в конечную базу данных 10 почтовых ящиков сценарий вызовет командлет New-MoveRequest.

Примеры

ПРИМЕР 1

В этом примере показано, как переместить почтовые ящики, начинающихся с «ay». Если эти почтовые ящики находятся в базе данных почтовых ящиков DB1, в этом примере используется параметр DatabaseMap для их перемещения в базу данных почтовых ящиков DBA. Если эти почтовые ящики находятся в базе данных почтовых ящиков DB2, в этом примере они перемещаются в базу данных почтовых ящиков DBB.

Get-Mailbox ay* | .\MoveMailbox.ps1 -DatabaseMap @{"DB1"="DBA";"DB2"="DBB"}

ПРИМЕР 2

В этом примере показано, как переместить почтовый ящик Алексея Орехова в базу данных DB2.

.\MoveMailbox.ps1 -Identity "Tony@Contoso.com" -TargetDatabase "DB2"

Использование сценария MoveMailbox.ps1 для перемещения почтовых ящиков, находящихся в определенной базе данных

Для выполнения этой процедуры необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в разделе Запись «Перемещения почтовых ящиков» в разделе Разрешения для почтового ящика.

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

MoveMailbox.ps1 -MailboxDatabase <Object> [-DatabaseMap <Hashtable>] [-TargetDatabase <Object>] [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]

Параметр

Обязательный

Описание

MailboxDatabase

Обязательный

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

Он может иметь следующие значения.

  • Идентификатор GUID

  • Различающееся имя (DN)

  • Имя сервера\базы данных

  • Имя базы данных

ПримечаниеПримечание.
Этот параметр невозможно использовать вместе с параметром DatabaseMap.

AutoSuspend

Необязательный

Параметр AutoSuspend указывает, необходимо ли приостанавливать запрос на перемещение перед достижением состояния CompletionInProgress. После приостановки перемещения оно имеет состояние AutoSuspended. При использовании этого параметра необходимо завершить перемещение с помощью командлета Resume-MoveRequest.

BadItemLimit

Необязательный

Параметр BadItemLimit указывает число пропускаемых неправильных элементов при обнаружении в почтовом ящике повреждения запроса на перемещение. Используйте значение 0, чтобы не пропускать неправильные элементы. Используйте значение -1, чтобы пропускать неограниченное количество неправильных элементов. Допустимый диапазон вводимых значений для этого параметра: от -1 до 2,147,483,647. Значение по умолчанию — 0. Рекомендуется сохранять значение по умолчанию 0 и изменять только значение параметра BadItemLimit, если запрос на перемещение завершается с ошибкой.

DatabaseMap

Необязательный

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

  • Используйте следующую синтаксическую конструкцию: @{"<SourceDatabase>"="<TargetDatabase>"}

  • Имя SourceDatabase должно соответствовать имени базы данных, как указано в командлете Get-Mailbox.

  • Можно включить несколько сопоставлений баз данных. Разделите несколько сопоставлений точкой с запятой (;), например, @ {"DB1"="DBA";"DB2"="DBB"}

ПримечаниеПримечание.
Этот параметр невозможно использовать вместе с параметром TargetDatabase. Если при передаче по конвейеру команды пользователь соответствует идентификатору в командлете Get-Mailbox, но не соответствует исходной базе данных в командлете DatabaseMap, почтовый ящик этого пользователя будет пропущен.

DomainController

Необязательный

Параметр DomainController указывает полное доменное имя (FQDN) контроллера домена, который записывает это изменение конфигурации в Служба каталогов Active Directory.

PollInterval

Необязательный

Параметр PollInterval указывает время ожидания проверки выполнения запроса на перемещение (в секундах). Например, если для параметра PollInterval установлено значение 180, сценарий MoveMailbox.ps1 будет проверять состояние запросов на перемещение каждые 3 минуты до тех пор, пока перемещение не достигнет состояния «Завершено». Значение параметра по умолчанию равно 10 секундам.

StartBatchSize

Необязательный

Параметр StartBatchSize указывает частоту запуска перемещений почтовых ящиков для балансировки нагрузки. Этот параметр применяется только при одновременном перемещении нескольких почтовых ящиков. Например, если при перемещении 15 почтовых ящиков для этого параметра установлено значение 10, после перемещения в конечную базу данных 10 почтовых ящиков сценарий вызовет командлет New-MoveRequest.

TargetDatabase

Необязательный

Параметр TargetDatabase указывает идентификатор базы данных, в которую перемещается почтовый ящик. Он может иметь следующие значения.

  • Идентификатор GUID

  • Различающееся имя (DN)

  • Имя сервера\базы данных

  • Имя базы данных

ПримечаниеПримечание.
Этот параметр невозможно использовать вместе с параметром DatabaseMap.

Примеры

ПРИМЕР 1

В этом примере показано, как переместить все почтовые ящики, находящиеся в базе данных почтовых ящиков DB1, в базу данных DB2.

.\MoveMailbox.ps1 -MailboxDatabase DB1 -TargetDatabase DB2

ПРИМЕР 2

В этом примере показано, как использовать командлет Get-MailboxDatabase для получения всех объектов баз данных почтовых ящиков, имя базы данных которых начинается с «DB1», а затем передать по конвейеру результаты в сценарий MoveMailbox.ps1.

Get-MailboxDatabase DB1* | .\MoveMailbox.ps1 -DatabaseMap @{"DB10"=DBA;"DB11"="DBB";"DB12"="DBA"}

 © Корпорация Майкрософт (Microsoft Corporation), 2010. Все права защищены.