Share via


Preparar los buzones para moverlos entre bosques con el script MoveRequest.ps1-en el Shell

 

Se aplica a: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Última modificación del tema: 2016-11-28

Microsoft Exchange Server 2010 admite mover de un buzón de correo en línea mediante el cmdlet de New-MoveRequest. Puede mover un buzón de correo de un bosque Exchange de origen a un bosque Exchange 2010 de destino.

Para ejecutar el cmdlet New-MoveRequest, debe existir un usuario de correo en el bosque de Exchange de destino y el usuario de correo debe contar con un conjunto mínimo de atributos de Active Directory obligatorios.

El script de Windows PowerShell que se describe en este tema admite esta tarea mediante la sincronización de usuarios de buzones de correo desde un bosque de origen de Exchange 2010, Exchange Server 2007 o Exchange Server 2003 hasta bosques de destino de Exchange 2010, como usuarios habilitados para correo. El script copia los atributos de Active Directory de los usuarios de buzón de correo en el bosque de origen hacia el bosque de destino y, a continuación, usa el cmdlet Update-Recipient para convertir los objetos de destino en usuarios habilitados para correo.

Para obtener más información acerca de cómo utilizar y escribir secuencias de comandos, consulte Scripting con el Shell de administración de Exchange. Para obtener más información acerca de cómo preparar para traslados entre bosques, consulte Preparar los buzones para las solicitudes de movimiento entre bosques.

¿Está buscando otras tareas de administración relacionadas con las solicitudes remotas de traslado? Consulte Administración solicitudes remotas de movimiento.

Requisitos previos

  • Busque la secuencia de comandos en la siguiente ubicación: Archivos de programa\Microsoft\Exchange Server\V14\Scripts.

  • Para ejecutar el script de ejemplo, necesita lo siguiente:

    • Un bosque de origen que ejecuta Exchange 2010, Exchange 2007 o Exchange 2003, donde reside actualmente el buzón de correo.

    • El bosque de destino con Exchange 2010 instalado, donde se trasladará el buzón de correo.

Usar el script Prepare-MoveRequest.ps1 para preparar buzones de correo para traslados entre bosques

Ejecutar el script desde el Shell en un rol de servidor que ejecute Exchange 2010 en el bosque Exchange 2010 de destino. La secuencia de comandos copia los atributos del buzón de correo del bosque de origen.

Para asignar una credencial de autenticación específica para el controlador de dominio del bosque remoto, primero debe ejecutar el cmdlet Get-Credential de Windows PowerShell y almacenar la entrada de usuario en una variable temporal. Cuando ejecuta el cmdlet Get-Credential, este solicita el nombre de usuario y la contraseña de la cuenta usada durante la autenticación con el controlador de dominio del bosque remoto. A continuación, puede utilizar la variable temporal en el script Prepare-MoveRequest.ps1. Para obtener más información sobre el cmdlet Get-Credential, consulte Get-Credential (en inglés).

Nota

Asegúrese de utilizar dos credenciales separadas para el bosque local y remoto al llamar esta secuencia de comandos.

En primer lugar, ejecute los siguientes comandos para obtener las credenciales del bosque remoto y el bosque local.

$LocalCredentials = Get-Credential
$RemoteCredentials = Get-Credential

A continuación, ejecute los siguientes comandos para pasar la información de credenciales a los parámetros LocalForestCredential y RemoteForestCredential del script Prepare-MoveRequest.ps1.

Prepare-MoveRequest.ps1 -Identity JohnSmith@Fabrikan.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials

La siguiente tabla describe el parámetro establecido para el script.

Conjunto de parámetros del script Prepare-MoveRequest.ps1

Parámetro Necesario Descripción

Identity

Necesario

El parámetro Identity identifica de forma única un buzón de correo en el bosque de origen. La identidad puede ser una de las siguientes:

  • Nombre común (CN)

  • Alias

  • Propiedad proxyAddress

  • Propiedad objectGuid

  • Propiedad DisplayName

RemoteForestCredential

Necesario

El parámetro RemoteForestCredential especifica el administrador que tiene permisos para copiar datos del bosque de origen de Active Directory.

RemoteForestDomainController

Necesario

El parámetro RemoteForestDomainController especifica el controlador de dominio en el bosque de origen en el cual reside el buzón de correo.

DisableEmailAddressPolicy

Opcional

El parámetro DisableEmailAddressPolicy especifica si se debe deshabilitar la directiva de direcciones de correo electrónico (EAP) al crear un objeto MailUser en el bosque de destino.

Cuando especifica este parámetro, no se aplicará la EAP en el bosque de destino.

Nota

Cuando especifica este parámetro, el objeto MailUser no tendrá una asignación de dirección de correo electrónico en el dominio de bosque local marcado. Normalmente, la EAP marca esto.

LinkedMailUser

Opcional

El conmutador LinkedMailUser especifica si se debe crear un MailUser vinculado en el bosque local para el usuario de buzón de correo del bosque remoto.

Si se proporciona el conmutador, el script crea un objeto MailUser de destino vinculado al buzón de correo de origen. Si se omite el conmutador, el script crea un objeto MailUser de destino normal. Para obtener más información, consulte Crear un buzón vinculado.

LocalForestCredential

Opcional

El parámetro LocalForestCredential le especifica al administrador los permisos para escribir datos en el Active Directory del bosque de destino.

Se recomienda especificar explícitamente este parámetro para evitar problemas de permisos de Active Directory.

Si el bosque remoto y el bosque local tienen una relación de confianza configurada, no use la cuenta de usuario del bosque remoto como credencial del bosque local, aunque la cuenta del usuario remoto puede tener permiso para modificar Active Directory en el bosque local.

LocalForestDomainController

Opcional

El parámetro LocalForestDomainController especifica un controlador de dominio en el bosque de destino donde se creará el usuario habilitado para correo.

Le recomendamos que especifique este parámetro para evitar problemas de demora de replicación en el controlador de dominio en el bosque local que podrían ocurrir si se selecciona el controlador de dominio aleatorio.

MailboxDeliveryDomain

Opcional

El parámetro MailboxDeliveryDomain especifica un dominio de autoridad del bosque de origen de modo que el script pueda seleccionar la propiedad proxyAddress del usuario del buzón de correo de origen correcto como la propiedad targetAddress del usuario habilitado para correo de destino.

De manera predeterminada, la dirección SMTP primaria del usuario del buzón de correo de origen está configurada como la propiedad targetAddress del usuario habilitado para correo de destino.

OverWriteLocalObject

Opcional

El parámetro OverWriteLocalObject se usa para usuarios creados por la Herramienta de migración de Active Directory. Las propiedades se copian del contacto de correo existente al nuevo usuario de correo creado. Sin embargo, después de esta copia, el script también copia las propiedades del usuario del bosque de origen al nuevo usuario de correo creado.

TargetMailUserOU

Opcional

El parámetro TargetMailuserOU especifica la unidad organizativa (OU) donde se creará el usuario habilitado para correo de destino.

UseLocalObject

Opcional

El parámetro UseLocalObject especifica si se debe convertir el objeto local existente al usuario habilitado para correo del correo de destino, en caso de que el script detecte un objeto en el bosque local que entre en conflicto con el usuario habilitado para correo que se necesite crear.

Ejemplos

Esta sección contiene varios ejemplos de cómo usar el script Prepare-MoveRequest.ps1.

Ejemplo 1

El siguiente ejemplo aprovisiona un usuario habilitado para correo vinculado y único en el bosque local, en caso de que la confianza del bosque se encuentre entre el bosque remoto y el local.

En primer lugar, ejecute los comandos siguientes para obtener las credenciales del bosque remoto y del bosque local.

$LocalCredentials = Get-Credential
$RemoteCredentials = Get-Credential

A continuación, ejecute el siguiente comando para pasar la información de credenciales a los parámetros LocalForestCredential y RemoteForestCredential del script Prepare-MoveRequest.ps1.

Prepare-MoveRequest.ps1 -Identity JamesAlvord@Contoso.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials -LinkedMailUser 

Ejemplo 2

Este ejemplo es compatible con la canalización si se proporciona una lista de las identidades de buzón.

Primero, ejecute el siguiente comando.

$UserCredentials = Get-Credential

A continuación, ejecute el siguiente comando para pasar la información de credenciales al parámetro RemoteForestCredential del script Prepare-MoveRequest.ps1.

"IanP@Contoso.com", "JoeAn@Contoso.com" | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials

Ejemplo 3

Puede generar un archivo CSV que contenga una lista de identidades de buzón de correo del bosque de origen, que le permita canalizar el contenido de este archivo a la secuencia de comandos para crear de forma masiva los usuarios habilitados para correo.

Por ejemplo, puede ser el contenido del archivo CSV:

Identidad

Ian@contoso.com

John@contoso.com

Cindy@contoso.com

En este ejemplo, se le solicita a un archivo CSV crear de forma masiva los usuarios de destino habilitados para correo.

En primer lugar, ejecute el siguiente comando para obtener las credenciales del bosque remoto.

$UserCredentials = Get-Credential

A continuación, ejecute el comando siguiente para pasar la información de credenciales al parámetro RemoteForestCredential del script Prepare-MoveRequest.ps1.

Import-Csv Test.csv | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials

Comportamiento de la secuencia de comandos por el objeto de destino

En esta sección se describe cómo se comporta la secuencia de comandos en relación con los siguientes escenarios de objetos de destino:

  • Duplicar objetos habilitados para correo de destino

  • Usuario habilitado para correo electrónico

  • Contacto habilitado para correo

  • Atributo LegacyExchangeDN

Duplicar objetos habilitados para correo de destino

Cuando la secuencia de comandos intenta crear un usuario habilitado para correo de destino desde el usuario de buzón de correo de origen y detecta un objeto habilitado para correo local duplicado, utiliza la siguiente lógica:

  • Si el atributo masterAccountSid del usuario del buzón de origen es igual al atributo objectSid o masterAccountSid de cualquier objeto de destino:

    • Si el objeto de destino no está habilitado para correo, el script devolverá un error, ya que no admite la conversión de un objeto no habilitado para correo con un usuario habilitado para correo.

    • Si el objeto de destino está habilitado para correo, el objeto de destino es un duplicado.

  • Si la dirección en las propiedades proxyAddress (sólo smtp/x500) del usuario del buzón de correo de origen es igual a una dirección de las propiedades proxyAddress (sólo smtp/x500) de un objeto de destino, entonces el objeto de destino es un duplicado.

La secuencia de comandos le avisa al usuario acerca de los objetos duplicados.

Si el objeto habilitado para correo de destino es un contacto o un usuario habilitado para correo, que más probablemente será creado por una implementación de sincronización de lista de direcciones global (GAL) de bosque cruzado (basado en Identity Lifecycle Management 2007 Service Pack 1), el usuario podrá ejecutar el script nuevamente con el parámetro UseLocalObject para utilizar el objeto habilitado para correo de destino de migración del buzón de correo.

Usuario habilitado para correo electrónico

Si el objeto de destino es un usuario habilitado para correo, la secuencia de comando copiará los siguientes atributos del usuario del buzón de correo de origen al usuario habilitado para correo de destino.

  • msExchMailboxGUID

  • msExchArchiveGUID

  • msExchArchiveName

Si se establece el parámetro LinkedMailUser, el script copia el atributo objectSid/masterAccountSid de origen.

Contacto habilitado para correo

Si el objeto de destino es un contacto habilitado para correo, la secuencia de comando borrará el contacto existente y copiará todos los atributos a un nuevo usuario habilitado para correo. La secuencia de comandos copia también los siguientes atributos del usuario de buzón de correo de origen:

  • msExchMailboxGUID

  • msExchArchiveGUID

  • msExchArchiveName

  • sAMAccountName

  • userAccountControl (configurar en 514 //equivalente a 0x202, ACCOUNTDISABLE | NORMAL_ACCOUNT)

  • userPrincipalName

Si se establece el parámetro LinkedMailUser, el script copia el atributo objectSid/masterAccountSid de origen.

Atributo LegacyExchangeDN

Cuando se solicita al cmdlet Update-Recipient convertir el objeto de destino a un usuario habilitado para correo, se generará un nuevo atributo LegacyExchangeDN para el usuario habilitado para correo de destino. La secuencia de comandos copia el atributo LegacyExchangeDN del usuario habilitado para correo de destino como una dirección x500 a las propiedades proxyAddress del usuario de buzón de correo de origen. Esta acción garantiza la correcta resolución de los destinatarios cuando se envían mensajes entre los bosques de origen y de destino.

 © 2010 Microsoft Corporation. Reservados todos los derechos.