Применимо к: Exchange Server 2010 SP1
Последнее изменение раздела: 2011-03-29
Система Microsoft Exchange Server 2010 поддерживает перемещение почтового ящика в оперативном режиме с помощью командлета New-MoveRequest. Можно переместить почтовый ящик из исходного леса Exchange в целевой лес Exchange 2010.
Для запуска командлета New-MoveRequest пользователь почты должен существовать в целевом лесу Exchange и иметь минимальный набор обязательных атрибутов Служба каталогов Active Directory.
Пример сценария Windows PowerShell, приведенный в этом разделе, соответствует этому требованию благодаря синхронизации пользователей почтовых ящиков с включенной поддержкой почты в исходных лесах Exchange 2010, Exchange Server 2007 или Exchange Server 2003 с пользователями в целевых лесах Exchange 2010. По этому сценарию выполняется копирование атрибутов Служба каталогов Active Directory пользователей почтовых ящиков в исходном лесу в целевой лес, а затем используется командлет Update-Recipient для преобразования целевых объектов в пользователей с включенной поддержкой почты.
Дополнительные сведения об использовании и записи сценариев см. в разделе Создание сценариев в среде управления Exchange. Дополнительные сведения о подготовке к перемещению между лесами см. в разделе Подготовка почтовых ящиков для запросов на перемещение между лесами.
Необходимы сведения о других задачах управления, связанных с удаленными запросами на перемещение? См. раздел Управление запросами на удаленное перемещение.
Предварительные условия
- Найдите сценарий в следующей папке: Program
Files\Microsoft\Exchange Server\V14\Scripts.
- Для выполнения этого примера сценария необходимы следующие
компоненты:
- Исходный лес под управлением Exchange 2010, Exchange 2007 или
Exchange 2003, в котором размещен почтовый ящик.
- Целевой лес с установленной системой Exchange 2010, в который
необходимо переместить почтовый ящик.
- Исходный лес под управлением Exchange 2010, Exchange 2007 или
Exchange 2003, в котором размещен почтовый ящик.
Использование сценария Prepare-MoveRequest.ps1 для подготовки почтовых ящиков к перемещениям между лесами
Запустите этот сценарий в командной консоли для роли сервера под управлением Exchange 2010 в целевом лесу Exchange 2010. Сценарий выполнит копирование атрибутов почтового ящика из исходного леса.
Чтобы назначить учетные данные для проверки подлинности для контроллера домена удаленного леса, необходимо предварительно выполнить командлет Windows PowerShell Get-Credential и сохранить введенные пользователем данные во временной переменной. При выполнении командлета Get-Credential он запрашивает имя пользователя и пароль учетной записи, используемой при проверке подлинности на контроллере домена удаленного леса. Затем можно использовать временную переменную в сценарии Prepare-MoveRequest.ps1. Дополнительные сведения о командлете Get-Credential см. в разделе Get-Credential.
Примечание. |
---|
Убедитесь, что при вызове этого сценария для локального и удаленного лесов используются различные учетные данные. |
Сначала выполните следующие команды, чтобы получить учетные данные локального и удаленного лесов.
Скопировать код | |
---|---|
$LocalCredentials = Get-Credential $RemoteCredentials = Get-Credential |
Затем выполните следующие команды, чтобы передать эти учетные данные в параметры LocalForestCredential и RemoteForestCredential в сценарии Prepare-MoveRequest.ps1.
Скопировать код | |
---|---|
Prepare-MoveRequest.ps1 -Identity JohnSmith@Fabrikan.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials |
В следующей таблице указан набор параметров для этого сценария.
Набор параметров для сценария Prepare-MoveRequest.ps1
Параметр | Обязательный | Описание | ||
---|---|---|---|---|
Identity |
Обязательный |
Параметр Identity уникальным образом идентифицирует почтовый ящик в исходном лесу. Идентификатором может быть:
|
||
RemoteForestCredential |
Обязательный |
Параметр RemoteForestCredential указывает администратора, который имеет разрешения на копирование данных из службы каталогов Служба каталогов Active Directory исходного леса. |
||
RemoteForestDomainController |
Обязательный |
Параметр RemoteForestDomainController указывает контроллер домена в исходном лесу, в котором размещен почтовый ящик. |
||
DisableEmailAddressPolicy |
Необязательный |
Параметр DisableEmailAddressPolicy указывает, требуется ли отключать политику адресов электронной почты (EAP) при создании объекта MailUser в целевом лесу. При указании этого параметра политика адресов электронной почты не будет применяться в целевом лесу.
|
||
LinkedMailUser |
Необязательный |
Параметр LinkedMailUser указывает, необходимо ли создать связанный объект MailUser в локальном лесу для пользователя почтового ящика в удаленном лесу. При указании этого параметра согласно сценарию создается целевой объект MailUser, связанный с исходным почтовым ящиком. Если этот параметр не указан, то по сценарию создается обычный целевой объект MailUser. Дополнительные сведения см. в разделе Создание связанного почтового ящика. |
||
LocalForestCredential |
Необязательный |
Параметр LocalForestCredential указывает администратора, который имеет разрешения на запись данных в службу каталогов Служба каталогов Active Directory целевого леса. Рекомендуется указать этот параметр явным образом, чтобы избежать проблем с разрешениями Служба каталогов Active Directory. Если в удаленном и локальном лесах настроено отношение доверия, не используйте учетную запись пользователя из удаленного леса в качестве учетных данных локального леса, даже если учетная запись удаленного пользователя имеет разрешение на изменение службы каталогов Служба каталогов Active Directory в локальном лесу. |
||
LocalForestDomainController |
Необязательный |
Параметр LocalForestDomainController указывает контроллер домена в целевом лесу, в котором необходимо создать пользователя с включенной поддержкой почты. Рекомендуется указать этот параметр, чтобы избежать возможных проблем с задержкой репликации контроллера домена в локальном лесу, которые могут произойти при выборе случайного контроллера домена. |
||
MailboxDeliveryDomain |
Необязательный |
Параметр MailboxDeliveryDomain указывает уполномоченный домен исходного леса, поэтому сценарий позволяет выбрать правильное свойство proxyAddress пользователя исходного почтового ящика в качестве свойства targetAddress целевого пользователя с включенной поддержкой почты. По умолчанию для основного SMTP-адреса пользователя исходного почтового ящика установлено свойство targetAddress целевого пользователя с включенной поддержкой почты. |
||
OverWriteLocalObject |
Необязательный |
Параметр OverWriteLocalObject используется при создании пользователей с помощью средства миграции в Служба каталогов Active Directory. При этом свойства существующего почтового контакта копируются для нового почтового пользователя. После этого сценарий также копирует для нового почтового пользователя свойства пользователя исходного леса. |
||
TargetMailUserOU |
Необязательный |
Параметр TargetMailuserOU указывает подразделение, в котором будет создан целевой пользователь с включенной поддержкой почты. |
||
UseLocalObject |
Необязательный |
Параметр UseLocalObject указывает, требуется ли преобразовывать существующий локальный объект в необходимого целевого пользователя с включенной поддержкой почты, если сценарием будет обнаружен в локальном лесу объект, конфликтующий с создаваемым пользователем с включенной поддержкой почты. |
Примеры
В этом разделе приведено несколько примеров возможного использования сценария Prepare-MoveRequest.ps1.
Пример 1
В этом примере выполняется подготовка одного связанного пользователя с включенной поддержкой почты в локальном лесу, в котором существует доверие леса между удаленным и локальным лесами.
В первую очередь выполните следующие команды, чтобы получить учетные данные локального и удаленного лесов.
Скопировать код | |
---|---|
$LocalCredentials = Get-Credential $RemoteCredentials = Get-Credential |
Затем выполните следующую команду, чтобы передать эти учетные данные в параметры LocalForestCredential и RemoteForestCredential в сценарии Prepare-MoveRequest.ps1.
Скопировать код | |
---|---|
Prepare-MoveRequest.ps1 -Identity JamesAlvord@Contoso.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials -LinkedMailUser |
Пример 2
В этом примере иллюстрируется поддержка конвейерного режима при указании списка идентификаторов почтового ящика.
В первую очередь выполните следующую команду:
Скопировать код | |
---|---|
$UserCredentials = Get-Credential |
Затем выполните следующую команду, чтобы передать эти учетные данные в параметр RemoteForestCredential в сценарии Prepare-MoveRequest.ps1.
Скопировать код | |
---|---|
"IanP@Contoso.com", "JoeAn@Contoso.com" | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials |
Пример 3
Можно создать файл CSV, содержащий список идентификаторов почтовых ящиков из исходного леса, который позволит передавать по конвейеру содержимое этого файла в сценарий для массового создания целевых пользователей с включенной поддержкой почты.
Например, файл CSV может иметь следующее содержимое:
Параметр Identity (идентификатор)
Ian@contoso.com
John@contoso.com
Cindy@contoso.com
В этом примере вызывается файл CSV для массового создания целевых пользователей с включенной поддержкой почты.
Сначала выполните следующую команду, чтобы получить учетные данные удаленного леса.
Скопировать код | |
---|---|
$UserCredentials = Get-Credential |
Затем выполните следующую команду, чтобы передать эти учетные данные в параметр RemoteForestCredential в сценарии Prepare-MoveRequest.ps1.
Скопировать код | |
---|---|
Import-Csv Test.csv | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials |
Поведение сценария для целевого объекта
В этом разделе описано поведение сценария при его выполнении со следующими сценариями для целевых объектов.
- Дублирование целевого объекта с включенной поддержкой почты
- Пользователь с включенной поддержкой почты
- Контакт с включенной поддержкой почты
- Атрибут LegacyExchangeDN
Дублирование целевого объекта с включенной поддержкой почты
При попытке сценария создать целевого пользователя с включенной поддержкой почты на основе пользователя исходного почтового ящика и обнаружении дублированного локального объекта с включенной поддержкой почты используется следующая логика.
- Если атрибут masterAccountSid пользователя исходного
почтового ящика соответствует какому-либо атрибуту objectSid
или masterAccountSid целевого объекта, то:
- Если для целевого объекта отключена поддержка почты, то
сценарием возвращается сообщение об ошибке, так как он не
поддерживает преобразование объекта с отключенной поддержкой почты
в пользователя с включенной поддержкой почты.
- Если для целевого объекта включена поддержка почты, он является
дубликатом.
- Если для целевого объекта отключена поддержка почты, то
сценарием возвращается сообщение об ошибке, так как он не
поддерживает преобразование объекта с отключенной поддержкой почты
в пользователя с включенной поддержкой почты.
- Если адрес в свойствах proxyAddress (только smtp/x500)
пользователя исходного почтового ящика соответствует адресу в
свойствах proxyAddress (только smtp/x500) целевого объекта,
то целевой объект является дубликатом.
Сценарий запрашивает пользователя о дубликатах объектов.
Если целевой объект с включенной поддержкой почты является пользователем или контактом с включенной поддержкой почты, созданным, по всей вероятности, при развертывании синхронизации глобального списка адресов (GAL) между лесами (на основе Identity Lifecycle Management 2007 с пакетом обновления 1 (SP1)), то пользователь может повторно запустить сценарий с параметром UseLocalObject, чтобы использовать целевой объект с включенной поддержкой почты для миграции почтовых ящиков.
Пользователь с включенной поддержкой почты
Если целевой объект является пользователем с включенной поддержкой почты, сценарий копирует следующие атрибуты пользователя исходного почтового ящика для целевого пользователя с включенной поддержкой почты:
- msExchMailboxGUID
- msExchArchiveGUID
- msExchArchiveName
Если установлен параметр LinkedMailUser, то согласно сценарию копируется исходный атрибут objectSid или masterAccountSid.
Контакт с включенной поддержкой почты
Если целевой объект является контактом с включенной поддержкой почты, сценарий удаляет существующий контакт и копирует все его атрибуты для нового пользователя с включенной поддержкой почты. Сценарий также копирует следующие атрибуты пользователя исходного почтового ящика:
- msExchMailboxGUID
- msExchArchiveGUID
- msExchArchiveName
- sAMAccountName
- userAccountControl (значение 514 //равнозначно 0x202,
ACCOUNTDISABLE | NORMAL_ACCOUNT)
- userPrincipalName
Если установлен параметр LinkedMailUser, то согласно сценарию копируется исходный атрибут objectSid или masterAccountSid.
Атрибут LegacyExchangeDN
При вызове командлета Update-Recipient для преобразования целевого объекта в пользователя с включенной поддержкой почты создается новый атрибут LegacyExchangeDN для целевого пользователя с включенной поддержкой почты. В соответствии со сценарием копируется атрибут LegacyExchangeDN целевого пользователя с включенной поддержкой почты в качестве адреса x500 для свойств proxyAddress пользователя исходного почтового ящика. Это процедура обеспечивает правильное разрешение получателей при обмене сообщениями между исходным и целевым лесами.