Exchange-tik migratzea 2010 Exchange-era 2013
En este documento podremos ver todos los requisitos y los pasos que debemos dar para proceder a migrar un entorno de Microsoft Exchange 2010 a Exchange Server 2013. Deberemos tener en cuenta que es un proceso largo y sobre todo dependiendo del número de servidores, así como de buzones que tengamos o sus tamaños, será una migración que no requerirá parada de servicio en ningún momento.
Gogorarazteko: Tener actualizados los Windows Update de los servidores, además de al menos el SP3 en todos los Exchange 2010, baina ez badugu, lo instalaremos primero en los CAS, luego en los HUB y finalmente en los servidores de buzones si es que tenemos los roles separados. Adicionalmente sería recomendable tener los Update Rollup instalados post SP3 de igual forma. Tendremos que tener en cuenta que a Exchange 2013 sólo podrán acceder las siguientes versiones de Outlook (eta este parche si no se conectan las carpetas públicas a los Outlooks):
- Outlook 2013.
- Outlook 2010 con SP1 y esta actualización.
- Outlook 2007 con SP3 y esta actualización.
- Outlook para Mac 2011.
- Entourage 2008 para Mac, Web Services Edition.
Basoaren eta domeinuaren funtzio-mailak gutxienez 'Windows Server 2003' mailan izan beharko ditugu, Eskema-maistrak Windows izango behar du 2003 SP2 edo hortik gorako bertsioa, eta SO horrekin leku horretan katalogo global bat ere behar da. Erabiltzaile-mailako kuotak edo muga bereziei ere arreta berezia, ez dezagun migrazioak huts egin, lehenetsitako balioak gainditzen direnean, eta, bulego-kantitate handia mugitzeko asmoa badugu, LOG-ei ere arreta emango diegu.
ADaren eskemaren prestaketa,
Lehen pausua eskemaren eguneraketa aplikatzea izango da gure Aktibo Zuzendaritzarako, pauso hau eskuz egin dezakegu edo alde batera utzi eta gure lehen Exchange zerbitzaria instalatzean egin dezala utzi 2013 antolakuntzarako. Podremos actualizarlo desde cualquier servidor miembro del dominio que sea x64, siendo Administradores de Esquema, Administradores de dominio y Administradores de Empresa, desde una consola DOS o PowerShell (con permiso de administrador) ejecutamos:
setup /PrepareSchema /IAcceptExchangeServerLicenseTerms
Instalación de requisitos de Exchange 2013 Windows-en 2012 R2,
Podremos continuar con la instalación de los prerequisitos de Exchange Server 2013 sobre nuestro Windows Server 2012 R2, para ello desde PowerShell ejecutaremos:
Install-WindowsFeature RSAT-ADDS
Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clusterizazioa, Web-Kudeaketa-Kontsola, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Arakaketa, Web-Dyn-Compression, Web-Http-Akatsak, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Kudeaketa-Kontsola, Web-Kudeaketa-Zerbitzua, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Estatiko-Edukia, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-Clustering-CmdInterface -Restart
Deberemos además instalar Microsoft Unified Communications Managed API 4.0, además de Microsoft Office 2010 Filter Pack de 64 bit y su SP1. Lehen Exchange zerbitzaria instalatzea 2013 ahalik eta azken SP integratuta beti. Instalatu ondoren ECP-ra sartuko gara (Exchange Kontrol Panelean), instalazio nahasketa bat dugunez, kasu honetan URL lehenetsia “https://SERVIDOR_EXCHANGE_2013/ecp” Exchangeko posta-bulegoen kudeaketara eramango gaitu 2010, Exchange kudeatu nahi badugu 2013 honako URLarekin sartu beharko dugu “https://SERVIDOR_EXCHANGE_2013/ecp?ExchClientVer=15”.
Si queremos, Exchange-rako administratzaile temporala sor dezakegu 2015 eta horrela ECP ez gaitu Exchange-ra birbideratuko 2010, AD-n erabiltzaile bat sortzea eta 'Organization Management' taldeko kide egitea nahikoa da’ bastará.
Exchange instalatzen dugu 2013 instalazio laguntzailea erabiliz eta Exchange instalazioa bukatutakoan azken Update Rollup aplikatzen dugu!
Creamos la estructura de carpetas para las BBDD y los Logs en nuestro servidor, renombramos y moveremos la BD de buzones que viene con el sistema a nuestro path correcto con:
Move-DatabasePath -Identity NOMBRE_BD -EdbFilePath "F:BBDDNOMBRE_BD.edb" –LogFolderpath "G:LOGsNOMBRE_BD"
Gainera, configuraremos la Lista de direcciones sin conexión predeterminada de Exchange 2013 en cada BD que tengamos en el nuevo Exchange, podremos verificar que tenemos todo OK ejecutando:
Get-MailboxDatabase | select name,offlineaddressbook | sort name
1º Instalar los certificados correspondientes a los servicios de Exchange
Tendremos que instalar en este servidor de Exchange 20013 (o en los servidores que vayamos a tener) los certificados SSL para la securización de los protocolos que utilicemos, como conocemos los necesitaremos para securizar:
- HTTPS – Outlook Anywhere, OWA, ECP/EAC, ActiveSync, EWS, OAB o Autodiscover: correo.dominio.com
- IMAPS: correo.dominio.com
- POPS: correo.dominio.com
- SMTPS: correo.dominio.com
Para ello, importaremos el .pfx de un certficado existente a los certificados del equipo local o deberemos generar una solicitud de certificado desde la ECP > Zerbitzariak > Certificados > Berria & seguir el asistente seleccionando el dominio para el que debe responder.
Una vez instalado el certificado lo asignaremos a servicios anteriores que nos interese.
2º Configurar URLs de sitios
Lo más fácil para configurar de forma correcta todas las URLs de los sitios de Exchange sería ejecutando estos comandos, baina ez badugu, podremos hacerlo de forma tradicional desde la GUI con ECP:
Set-OABVirtualDirectory -identity "SERVIDOR_EXCHANGE_2013OAB (Default Web Site)" -ExternalURL https://correo.dominio.com/OAB -InternalUrl https://correo.dominio.com/OAB Set-WebServicesVirtualDirectory -identity "SERVIDOR_EXCHANGE_2013EWS (Default Web Site)" -ExternalURL https://correo.dominio.com/EWS/Exchange.asmx -InternalUrl https://correo.dominio.com/ews/Exchange.asmx Set-ActiveSyncVirtualDirectory -Identity "SERVIDOR_EXCHANGE_2013Microsoft-Server-ActiveSync (Default Web Site)" -ExternalURL https://correo.dominio.com/Microsoft-Server-ActiveSync -InternalUrl https://correo.dominio.com/Microsoft-Server-ActiveSync Set-OWAVirtualDirectory -Identity "SERVIDOR_ EXCHANGE_2013owa (Default Web Site)" -ExternalURL https://correo.dominio.com/owa -InternalUrl https://correo.dominio.com/owa Set-ECPVirtualDirectory -Identity "SERVIDOR_EXCHANGE_2013ecp (Default Web Site)" -ExternalURL https://correo.dominio.com/ecp -InternalURl https://correo.dominio.com/ecp Set-PowerShellVirtualDirectory -Identity "SERVIDOR_EXCHANGE_2013PowerShell (Default Web Site)" -ExternalURL https://correo.dominio.com/powershell -InternalURl https://correo.dominio.com/powershell Set-ClientAccessServer -Identity SERVIDOR_EXCHANGE_2013 -AutoDiscoverServiceInternalUri https://correo.dominio.com/Autodiscover/Autodiscover.xml Set-AutodiscoverVirtualDirectory -identity "SERVIDOR_EXCHANGE_2013Autodiscover (Default Web Site)" -ExternalUrl 'https://correo.dominio.com/Autodiscover/Autodiscover.xml' -InternalUrl 'https://correo.dominio.com/Autodiscover/Autodiscover.xml
3º Límites y quotas
Deberemos conocer los límites y las quotas que tenemos en nuestra organización 2010 antes de comenzar cualquier progreso a la 2013. Lo primero será poner las mismas quotas a nivel de BD tanto de Warning, como de prohibir enviar o prohibir recepción; así como los periodos de retención de buzones de usuario o correos eliminados. Es commendable eliminar las quotas individuales que tengamos por usuario mientras se realiza la migración, así que de igual forma las anotaremos. Por ejemplo con este PowerShell sacaremos las cuotas establecidas en los buzones:
Get-Mailbox | Where {$_. UseDatabaseQuotaDefaults -eq $False} | ft name,prohibit*,issue*
Y con este PowerShell sacaremos los límites establecidos en las BD de 2010 para poder establecerlos posteriormente de igual manera en las nuevas BD de 2013, además de los tiempos de retención para buzones eliminados o items individuales :
Get-MailboxDatabase | fl Name,IssueWarningQuota,ProhibitSendQuota,ProhibitSendReceiveQuota,DeletedItemRetention,MailboxRetention
4º Configurar Outlook Anywhere
Deberemos configurar Outlook Anywhere, podremos modificar el tipo de autenticación, o directly con este PowerShell, su nombre para redes externas o internas:
Set-OutlookAnywhere -Identity "SERVIDOR_EXCHANGE_2031Rpc (Default Web Site)" -InternalHostname correo.dominio.com -ExternalHostname correo.dominio.com
5º Cambiar paths de logs de transporte
Desde ECP, en las propiedades del servidor podremos cambiar fácilmente los paths de los logs de Transporte.
6º Conector de envío
Habrá que crear un conector de envío para el Exchange 2013 con la misma configuración que ya teníamos en 2010 (mugak…) o bien, más fácil, asociarle y darle permisos de envío desde un conector ya generado en los anteriores servidores Exchange 2010.
7º Migración de aplicativos o dispositivos,
A tener en cuenta que habrá que mover los buzones que utilicen servicios, aplicaciones o dispositivos como software de backup, AV, impresoras, FAX, PBX, escáneres, sitios web… Al igual que si disponemos de alguna pata de relay (conector de recepción) en el Exchange 2010, habrá que configurarla de igual forma en este 2013, además de configurar la misma autenticación, o la misma dirección IP, baina ez badugu, nos tocará reconfigurar todas estas apps que mandan correos a través del servidor Exchange 2010.
8º Mover buzones,
Jarrai dezagun, lo siguiente ya será mover los buzones de los usuarios, deberemos tener en cuenta que si el usuario tiene el buzón abierto le desconectará y le pedirá que abra Outlook de nuevo para que se reconfigure contra el nuevo servidor de correo de forma automática.
Seleccionamos los usuarios que queramos mover desde el ECP > “Recipients” > “Mailboxes” > Y seleccionamos mover el buzón a otra base de datos.
Le indicamos un nombre a la tarea de migración e indicamos a qué base de datos moveremos los buzones, “Next”,
Indicaremos si iniciar la tarea de migración de forma automática y si además también la finalizaremos o de forma manual, “Berria” sortzeko.
Deberemos ir al panel de Migración para ver el estado de los movimientos de buzones, “Yes”,
Podremos pulsar en “View details…” para ver más detalles del proceso de migración,
Donde veremos de forma individual el estado de la migración de cada buzones! Esperaremos mientras copia…
Lo más comodo seguramente, sea mover los buzones por PowerShell, moveremos los buzones using el siguiente comando:
Get-Mailbox -Database BASE_DATOS_2010 | New-MoveRequest -TargetDatabase BASE_DATOS_2013
Para ver el estado de migración podremos ejecutar:
Get-MoveRequestStatistics -MoveRequestQueue BASE_DATOS_2013
Y para verify que no nos quedan buzones en las BBDD viejas del 2010:
Get-MailboxDatabase -Identity BASE_DATOS_2010 | Get-Mailbox
9º Karpeta publikoak migratu,
Posta-banatzaileak mugitu ondoren, Exchange zerbitzariko karpeta publikoak migratuko ditugu 2010 al Exchange 2013, lehenik hauetan jaitsiko gara scripts hemenetik.
Lehenik Exchange shell-ean exekutatuko dugu 2010:
Karpeta-egituraren snapshot bat ateratzeko:
Get-PublicFolder -Recurse | Export-CliXML C:PFMigrateLegacy_PFStructure.xml
Karpeta publikoko estatistiketako snapshot bat aterako dugu, elementu kopuru bezala, tamaina edo jabetza bezala:
Get-PublicFolderStatistics | Export-CliXML C:PFMigrateLegacy_PFStatistics.xml
Eta azken bat baimenak ateratzeko:
Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:PFMigrateLegacy_PFPerms.xml
Exchange-en 2013 Ez dugu karpeta publiko sorturik izan behar, para verificarl y si tenemos debemos deshacer la migración anterior, ejecutamos:
Get-Mailbox -PublicFolder
Get-PublicFolder
Verificaremos además desde el Exchange 2010 que no tenemos carpetas públicas con nombres no válidos:
Get-PublicFolderStatistics -ResultSize Unlimited | Where {$_.Name -like “**”} | Format-List Name, Identity
Empezamos en el Exchange 2010, comenzamos ejecutando el siguiente script que nos generará un fichero con el nombre de las carpetas públicas y sus tamaños:
.Export-PublicFolderStatistics.ps1 PfMapNameToSize.csv SERVIDOR_EXCHANGE_2010
Ejecutaremos el siguiente script para crear el archivo de mapeos entre las carpetas públicas y el buzón:
.PublicFolderToMailboxMapGenerator.ps1 TAMAÑO_BUZON PFMapNameToSize.csv PFmapFolderToMailbox.csv
Crearemos los buzones de carpetas públicas ya en el Exchange 2013, el primer buzón debe ser del tipo master hierarchy mailbox, así que lo crearemos por defecto con el modo HoldForMigration. Podremos cambiar el nombre del buzón en el archivo ‘PFmapFolderToMailbox.csv’ y así lo indicaremos en el siguiente comando!
Para crear el primer buzón ejecutamos:
New-Mailbox -PublicFolder Mailbox1 -HoldForMigration:$true -Database BD_EXCHANGE_2013 -IsExcludedFromServingHierarchy $True
Y si tenemos más carpetas a migrar, crearemos más buzones con:
New-Mailbox -PublicFolder Mailbox2 -Database BD_EXCHANGE_2013 -IsExcludedFromServingHierarchy $True
Tras preparar la migración, empezamos ya la migración de las carpetas en el Exchange 2013
New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server SERVIDOR_EXCHANGE_2010) -CSVDatuak (Get-Content PFmapFolderToMailbox.csv -Encoding Byte)
Migrazioa hasi dela eta modu errazago batez egiaztatzeko % aurrerapena eta egoera, ejecutamos:
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics
Errore bat badugu, errazena hurrengo komandoarekin ikustea izango da, public folder-en Alias-ak izan ditzakegu 2010 espazioekin… ikusteko komandoa:
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | Format-List
Migrazioa laburbildu behar badugu errore bat izan dugulako (eta aurreko mezua erabilita ikusiko genuke, ejecutamos: Resume-PublicFolderMigrationRequest -identity “PublicFolderMigration”
Migrazioaren egoera ‘AutoSuspended’ egoerara iritsita dagoenean’ eta 95%, podremos continuar con el siguiente paso, que será bloquear las carpetas públicas en el Exchange 2010.
A partir de ahora los usuarios no podrían acceder a las carpetas públicas del Exchange 2010, ejecutamos en el 2010:
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
De vuelta en el Exchange 2013, para finalizar el proceso de migración deberemos ejecutar:
Set-PublicFolderMigrationRequest -Identity PublicFolderMigration -PreventCompletion:$false
Y finalizamos con la ultima sincronización con las diferencias entre las distintas carpetas públicas.
Resume-PublicFolderMigrationRequest -Identity PublicFolderMigration
Confirmamos cómo va la migración:
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics
Y esperamos a que acabe al 100%!
Erabiltzaile batekin probatu ahal izango dugu karpeta publikoak ondo dauden ikusteko, horretarako, proba-erabiltzaile bat karpeta publikoen buzoiarekin lotu ahal izango dugu Exchange-n 2013, exekutatuz:
Set-Mailbox -Identity PROBA_ERABILTZAILEA -DefaultPublicFolderMailbox Mailbox1
Aurretik aurreko komandoa exekutatu aurretik, proba hori egin nahi dugun erabiltzailearen Outlook ireki ahal izango dugu /rpcdiag parametroarekin “outlook /rpcdiag” Outlook eta Exchange zerbitzariaren arteko konexioen egoera ikusteko. Hasieran ikusiko dugu karpeta publikoak oraindik zerbitzari zaharrean daudela…
Eta komandoa exekutatu ondoren, probako erabiltzaile baten karpeta publikoen buzoia ezarri eta bere Outlook berriro ireki /rpcdiag parametroarekin, veremos que ya conecta contra el nuevo servidor de Exchange.
Una vez que las pruebas realizadas son correctas, deberemos habilitar el acceso a estas carpetas al resto de usuarios de la organización, ejecutamos:
Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false
Confirmamos que tenemos la migración Completed y al 100% de migración completada, e indicamos que la migración se finalizó con:
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics Set-OrganizationConfig -PublicFolderMigrationComplete:$true Set-OrganizationConfig -PublicFoldersEnabled Local
Deshacer la migración de Exchange 2013
En el Exchange 2010 ejecutaremos:
Set-OrganizationConfig -PublicFoldersLockedForMigration:$False
10º Eliminando recursos del 2010
Despues de tener ya las carpetas públicas en el 2013 en producción, lo siguiente será confirmar que hemos movido todos los buzones de los usuarios y que no nos quedan más buzones de sistema como pueden ser los de Archivo o Arbitration, los buscamos con:
Get-Mailbox -Archive | fl name,datu-basea
Get-Mailbox -Arbitration | fl name,datu-basea
Si tenemos alguno lo moveremos ejecutando lo siguiente desde una PowerShell del Exchange 2013:
Get-Mailbox -Database BASE_DATOS_2010 -Archive | New-MoveRequest -TargetDatabase BASE_DATOS_2013
Get-Mailbox -Database BASE_DATOS_2010 -Arbitration | New-MoveRequest -TargetDatabase BASE_DATOS_2013
Además de mover el buzón de descubrimiento o Discovery Search Mailbox:
New-MoveRequest DiscoverySearchMailbox* -TargetDatabase BASE_DATOS_2013
Para ver el estado de migración podremos ejecutar:
Get-MoveRequestStatistics -MoveRequestQueue BASE_DATOS_2013
Una vez realizado y verificando de nuevo que ya no tenemos más buzones, podremos desmontar y eliminar la BD.
Lo siguiente será eliminar la OAB del Exchange 2010, lo podremos hacer sencillamente desde la GUI, siempre y cuando no la tengamos asignada a ninguna BD de Exchange 2013.
Azkenik, eliminaremos la BD de carpetas públicas del 2010, las desmontaremos & eliminaremos.
Podríamos proceder ya a desinstalar el Exchange 2010!































































