Página principal Sobre mi Premios recibidos Links de Interés Contacto Blogs de referencia

Translate

lunes, 30 de noviembre de 2015

Textual description of firstImageUrl

Microsoft Exchange: Migrar un servidor 2010 a 2013 - Parte 09

Parte 9 Transferencia de las Carpetas Públicas de Exchange 2010.

En el siguiente índice de contenidos podréis ir saltando a vuestra discreción a la parte que más os interese del documento.

Ha llegado el momento de la transferencia de las carpetas públicas, la parte más dificultosa de las migraciones de Microsoft Exchange siempre ha sido las carpetas públicas.

En la migración de Microsoft Exchange 2010 a 2013, este proceso no ha mejorado.

En un servidor Microsoft Exchange 2013, Microsoft  ha decidido eliminar la base de datos de carpetas publicas, y  ha convertido la antigua  EDB de las Carpetas Públicas, en un Buzón de Carpetas Públicas.  

Esperemos que en futuras migraciones que solo tendremos que traspasar un buzón con las carpetas públicas, mejore el panorama. Pero, para llegar a tener nuestro nuevo buzón de carpetas publicas, previamente deberemos convertir la base de datos de Public Folders de nuestro servidor Microsoft Exchange 2007 o 2010.

En primer lugar descargaremos los Scripts para la migración desde la página oficial de Microsoft.

Descarga de Scripts para la migración



Los descomprimiremos en una carpeta local en nuestro servidor Exchange 2010.

Scripts para la migración

Comprobaremos cuantas carpetas publicas tenemos desde la ventana de Public Folder Management Console de Exchange 2010, en nuestro laboratorio tenemos tres.

Public Folder Management

Empecemos a preparar todo para la migración de las carpetas públicas. En primer lugar, para poder comprobar el resultado final cuando terminemos la migración, es una buena practica sacar un snapshot de la estructura de carpetas pública actual del viejo servidor Exchange 2010.

Tomaremos una instantánea de la estructura de las carpetas publicas de origen original.

Get-PublicFolder -Recurse | Export-CliXML C:\PFMigration\Legacy_PFStructure.xml

También tomaremos un Snapshot de las estadísticas de las carpetas públicas, el número de elementos, tamaño o el propietario.

Get-PublicFolderStatistics | Export-CliXML C:\PFMigration\Legacy_PFStatistics.xml

Por último deberemos tomar un Snap para guardar la configuración de permisos.

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


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

Comprobaremos que los ficheros XML se han creado correctamente en la carpeta especificada.

Los ficheros XML se han creado correctamente

En el nuevo servidor Exchange 2013 no deberíamos tener carpetas públicas creadas, para verificar  si tenemos alguna podemos ejecutar desde la consola de PowerShell.

Get-Mailbox -PublicFolder
Get-PublicFolder

También podríamos comprobar mediante la GUI 


Get-Mailbox -PublicFolder


El siguiente paso que vamos a realizar, es la comprobación de los caracteres no validos para los nombres de las carpetas publicas en nuestro antiguo servidor.

Para poder localizar las carpetas públicas que contengan con una barra diagonal inversa en su nombre en el antiguo servidor Exchange 2010, ejecutaremos este comando.

Get-PublicFolderStatistics -ResultSize Unlimited | Where {$_.Name -like "*\*"} | Format-List Name, Identity

Si tubieramos un servidor  Exchange 2007, ejecutariamos este otro comando

Get-PublicFolderDatabase | ForEach {Get-PublicFolderStatistics -Server $_.Server | Where {$_.Name -like "*\*"}}

Si el resultado de la consulta devolviera alguna carpeta pública, podemos cambiar el nombre con el comando siguiente.

Set-PublicFolder -Identity "public_folder_identity" -Name "nuevo_nombre_public_folder"

En nuestro laboratorio ejecutaremos.

Get-PublicFolderStatistics -ResultSize Unlimited | Where {$_.Name -like "*\*"} | Format-List Name, Identity

Get-PublicFolderStatistics -ResultSize Unlimited | Where {$_.Name -like "*\*"} | Format-List Name, Identity

Seguidamente vamos a generar los archivos CSV desde nuestro antiguo servidor Microsoft Exchange 2010.

En primer lugar, ejecutaremos el comando siguiente para crear el nombre de carpeta, para el archivo de asignación de tamaño de carpeta.

.\Export-PublicFolderStatistics.ps1 <Folder to size map path> <FQDN of source server>

En nuestro laboratorio la sintaxis será la siguiente.

.\Export-PublicFolderStatistics.ps1 CP_Name.csv srvex-2010.dom.local


.\Export-PublicFolderStatistics.ps1 CP_Name.csv srvex-2010.dom.local

En segundo lugar vamos a ejecutar el comando siguiente, para crear el archivo de asignación de buzón de carpetas públicas. Este archivo se usa para crear la cantidad de buzones de carpetas públicas en el nuevo servidor de buzones Exchange 2013.

.\PublicFolderToMailboxMapGenerator.ps1 <Maximum mailbox size in bytes> <Folder to size map path> <Folder to mailbox map path>

En nuestro laboratorio la sintaxis será la siguiente.

.\PublicFolderToMailboxMapGenerator.ps1 200000000 CP_Name.csv CP_Name_Buzon.csv

.\PublicFolderToMailboxMapGenerator.ps1 200000000 CP_Name.csv CP_Name_Buzon.csv

Comprobaremos que los archivos se han creado correctamente, en la ruta por defecto donde hemos descomprimido los Scripts de migración de carpetas públicas.

Comprobaremos que los archivos se han creado correctamente.

Podemos comprobar también el contenido de los dos archivos CSV usando el Bloc de Notas, en nuestro laboratorio el contenido es el siguiente.

CP_Name.csv

"FolderName","FolderSize"
"\IPM_SUBTREE","0"
"\IPM_SUBTREE\Carpeta Publica 1","0"
"\IPM_SUBTREE\Carpeta Publica 2","0"
"\IPM_SUBTREE\Carpeta Publica 3","0"
"\NON_IPM_SUBTREE","0"
"\NON_IPM_SUBTREE\EFORMS REGISTRY","0"

CP_Name_buzon.csv

"FolderPath","TargetMailbox"
"\","Mailbox1"

"FolderPath","TargetMailbox"

Seguidamente copiaremos el archivo de asignación de buzón de carpetas públicas, en nuestro laboratorio lo hemos llamado CP_Name_Buzon.CSV, al nuevo servidor de Exchange 2013

CP_Name_Buzon.CSV

Hecho esto, vamos a crear los buzones de carpetas públicas en el nuevo servidor Exchange 2013, para ello abriremos una consola de PowerShell y usaremos el comando siguiente.

New-Mailbox -PublicFolder <Name> -HoldForMigration:$true

En nuestro laboratorio escribiremos

New-Mailbox -PublicFolder CF-Mailbox -HoldForMigration:$true -Database "Mailbox Database 1601282397"

New-Mailbox -PublicFolder CF-Mailbox -HoldForMigration:$true -Database "Mailbox Database 1601282397"

Haciendo esto crearemos un nuevo buzón de carpetas publicas en nuestro nuevo servidor Exchange 2013, al que hemos llamado CF-Mailbox, accederemos a la Exchange Control Panel para comprobar que se ha creado correctamente.

Exchange 2013, al que hemos llamado CF-Mailbox

Editaremos el fichero CSV que hemos copiado del antiguo servidor Exchange 2010 y modificaremos el nombre del buzón.

Por defecto tendremos algo parecido a esto.

"FolderPath","TargetMailbox"
"\","Mailbox1"

Cambiaremos Mailbox1 por el nombre del buzón que hemos creado en el paso anterior, en nuestro laboratorio lo hemos llamado CP-Mailbox.

"FolderPath","TargetMailbox"
"\","CP-Mailbox"

"FolderPath","TargetMailbox" "\","CP-Mailbox"

Vamos a empezar la transferencia de las carpetas publicas, desde el servidor Microsoft Exchange 2013, abriremos una consola de PowerShell y ejecutaremos el comando siguiente.

New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server NOMBRE_DEL_SERVIDOR_EXCHANGE_2010) -CSVData (Get-Content ARCHIVO_CSV_CON_EL_NOMBRE_DEL_BUZON -Encoding Byte)

En nuestro laboratorio escribiremos el siguiente comando.

New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server SRVEX-2010.DOM.LOCAL) -CSVData (Get-Content C:\IMPORT_CP\CP_Name_Buzon.csv -Encoding Byte)

Cuando estáis realizando este paso, es posible que os aparezca el error siguiente,

Error al enviar la solicitud debido a que la migración de la carpeta pública ya se completó satisfactoriamente con anterioridad.

+ CategoryInfo : NotSpecified: (:) [New-PublicFolderMigrationRequest], RecipientTaskException
+ FullyQualifiedErrorId : [Server=SRVEX-2013,RequestId=48c1403c-7362-47a9-acb9-2de87de72227,TimeStamp=19/11/2015 8:43:10] [FailureCategory-Cmdlet-RecipientTaskException]48C1B4A5,Microsoft.Exchange.Management.RecipientTasks.NewPublicFolderMigrationRequest
+ PSComputerName : srvex-2013.dom.local

Si es este vuestro caso, no os alarméis podéis consultar el enlace siguiente para su resolución.

Error - migración de la carpeta pública ya se completó satisfactoriamente - Exchange 2013d.

Para comprobar el estado de la migración usaremos el comando siguiente.

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

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

Completado el procedimiento de transferencia de las carpetas publicas, comprobaremos que en nuestro buzón de carpetas publicas de Exchange 2013  tenemos el mismo árbol de carpetas que teníamos en la base de datos de carpetas públicas en el antiguo servidor Exchange 2010.

Completado el procedimiento de transferencia de las carpetas publicas

Seguidamente bloquearemos el acceso a las carpetas públicas de nuestro antiguo servidor Exchange 2010 usando el siguiente comando de  Powershell, de este modo podremos terminar la sincronización sin que nadie pueda modificar los datos de origen, este proceso requiere un cierto tiempo de espera.

Set-OrganizationConfig -PublicFoldersLockedForMigration:$true


Set-OrganizationConfig -PublicFoldersLockedForMigration:$true

Por último Finalizaremos la migración de las carpetas públicas desde la PowerShell de Exchange 2013, realizaremos una ultima sincronización y desbloquearemos el nuevo buzón de las carpetas públicas en nuestro nuevo servidor de correo electrónico.

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

Resume-PublicFolderMigrationRequest -Identity \publicFolderMigration
Continuar leyendo el procedimiento de migración de Exchange 2010 a 2013 en el siguiente enlace:

Enlaces relacionados

No hay comentarios:

Publicar un comentario