Un administrador de Exchange puede mover los buzones de correo de los usuarios entre bases de datos en el mismo servidor o entre servidores de buzones de correo remotos. En este artículo, mostraremos cómo mover buzones de correo en Exchange Server usando el Centro de administración de Exchange (EAC) y Potencia Shell. El artículo es relevante para todas las versiones compatibles de Exchange 2010/2013/2016/2019 con algunas diferencias con respecto a la GUI de administración de Exchange.
Normalmente, los buzones de correo corporativos de una organización de Exchange se migran si un usuario se traslada a otro sitio (oficina) con sus propios servidores de buzón de correo de Exchange; cuando se agota el espacio en disco donde se almacena la base de datos actual; o cuando desee realizar una desfragmentación fuera de línea de la base de datos sin interrumpir el servicio de correo electrónico para los usuarios.
white space
). Este espacio libre se puede utilizar para almacenar nuevos elementos de buzón para otros usuarios en la misma base de datos. Para reducir el tamaño de la base de datos de Exchange, debe desfragmentarla sin conexión o simplemente volver a crearla (mover usuarios a otras bases de datos con anticipación). Para mover un buzón de una base de datos a otra, debe crear una solicitud de movimiento de Exchange. Hay tres tipos de solicitudes de movimiento:
- Movimiento local es una solicitud local para mover un buzón en el mismo bosque (de una base de datos a otra en el mismo servidor de buzones, oa otro servidor en la misma organización de Exchange);
- Movimiento empresarial entre bosques - mueve buzones de correo entre diferentes bosques de Active Directory;
- Movimientos de buzones remotos se utiliza en la implementación híbrida para mover buzones de correo en configuraciones híbridas (entre Exchange local y Office 365).
¿Cómo mover buzones de correo usando el Centro de administración de Exchange (EAC)?
Utilizando la Centro de administración de Exchange, puede mover uno o más buzones de usuario.
- Abra el EAC y vaya al Destinatarios -> Migraciones pestaña;
- Hacer clic + y seleccione Mover a una base de datos diferente;
- Seleccione los buzones de correo de usuario que desea mover;
Puede especificar la lista de buzones de correo para migrar en un archivo CSV y cargarlo en el EAC.
- Luego, especifique una base de datos de buzones de correo de destino a la que desee mover los buzones de correo;
- Luego, puede seleccionar si desea comenzar a moverse inmediatamente o más tarde, y especificar el buzón para entregar un informe sobre el movimiento exitoso del buzón.
No uso las funciones de movimiento de buzones de correo de EAC, ya que es más fácil y rápido hacerlo con PowerShell.
Mover buzones de Exchange con el cmdlet de PowerShell New-MoveRequest
En primer lugar, debe obtener la base de datos del buzón que almacena el buzón del usuario. Abra el Shell de administración de Exchange (EMS) y ejecute este comando:
Get-Mailbox jkurtin| Format-List Database
En este ejemplo, el buzón de un usuario se encuentra en la base de datos denominada DB01.
Para crear una solicitud local para mover un buzón, el New-MoveRequest Se utiliza el cmdlet. Por ejemplo:
New-MoveRequest -Identity jkurtin -TargetDatabase "DB02" –BadItemLimit 10
Además de un nombre de usuario, los siguientes parámetros son importantes:
- TargetDatabase es el nombre de una base de datos de buzones de correo de destino a la que desea mover un buzón;
- BadItemLimit - la cantidad de elementos dañados en el buzón que se pueden omitir (ignorar) al mover el buzón.
Si establece BadItemLimit 0, el buzón no se moverá a la base de datos de destino si se encuentran elementos dañados. Si pones BadItemLimit > 50, debe especificar adicionalmente el AceptarLargeDataLoss parámetro.
El cmdlet devuelve los tamaños de buzón y archivo (TotalMailboxSize, TotalArchiveSize) y un mensaje de que la solicitud de movimiento se ha puesto en cola.
Para mover todos los buzones de una base de datos de Exchange a otra, use el siguiente comando:
Get-Mailbox -Database DB01 -ResultSize Unlimited | New-MoveRequest -TargetDatabase DB02
Get-Mailbox -Database DB01 -Arbitration | New-MoveRequest -TargetDatabase DB02
MaxActiveMovesPerSourceMDB
, MaxActiveMovesPerTargetMDB
, MaxActiveMovesPerSourceServer
, MaxActiveMovesPerTargetServer
.
Según el tamaño del buzón y la ubicación de un servidor de destino, puede llevar mucho tiempo mover un buzón. Para rastrear el estado de migración del buzón en%, el Get-MoveRequestStatistics Se utiliza el cmdlet.
Get-MoveRequestStatistics -Identity jkurtin
En este ejemplo, el estado del movimiento es InProgress y el progreso (PercentComplete) es 26%.
Puede mostrar el estado de todas las solicitudes de movimiento de buzones en la organización:
Get-MoveRequest | Get-MoveRequestStatistics
Una vez finalizada la migración, el valor de PercentComplete llega a 100 y el estado de la migración cambiará a Terminado.
Get-MoveRequest | where {$_.status -ne "completed"} | Get-MoveRequestStatistics | ft -a displayname,status*,percent
Para mostrar todos los buzones de correo que se están moviendo o poniendo en cola:
Get-MoveRequest -movestatus inprogress
Get-MoveRequest -movestatus queued
Si ocurrió un error durante la migración del buzón, puede mostrarlo usando este comando:
Get-MoveRequest jkurtin | Get-MoveRequestStatistics | fl *failure*, message
Para obtener información más detallada sobre los errores de migración del buzón, use el siguiente comando:
Get-MoveRequest -resultsize unlimited | Where-Object {$_.status -like “failed”} | Get-MoveRequestStatistics -IncludeReport | select DisplayName, Message, FailureType, FailureSide, FailureTimeStamp, *bad*, *large*, Report, Identity | fl
Si desea cancelar un movimiento de buzón, ejecute:
Remove-MoveRequest -Identity jkurtin
Para eliminar las solicitudes de movimiento completadas con éxito (no podrá mover un buzón la próxima vez sin él), ejecute el comando:
Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest
Migración por lotes de buzones de correo en Exchange Server
Para que el seguimiento de la migración del buzón de correo sea más conveniente, puede usar el:BatchName opción. Por ejemplo, para mover todos los buzones de una base de datos de buzones a otra en modo por lotes, ejecute el siguiente comando:
Get-Mailbox -Database RO-DB01 | New-MoveRequest -TargetDatabase RO-DB02 -BatchName RODB01toRoDB02Move20210422
Luego, para obtener un estado de migración de todos los buzones de correo del lote, especifique el nombre del lote:
Get-MoveRequest -BatchName RODB01toRoDB02Move20210422| Get-MoveRequestStatistics
Por lo tanto, puede asegurarse de que todos los buzones de la tarea se hayan movido correctamente.
Puede suspender una migración de buzón de correo por lotes:
Get-MoveRequest | ? {$_.Batchname –like “*RODB01toRoDB02Move20210422”}|Set-MoveRequest –SuspendWhenReadytoCompleate
O reanude la migración:
Get-MoveRequest | ? {$_.Batchname –like “*RODB01toRoDB02Move20210422”|Resume-MoveRequest
En Exchange Server 2013, 2016, 2019 y Exchange Online, puede mover varios buzones de correo en un lote mediante el New-MigrationBatch. Haga una lista de los buzones de correo que se migrarán en un archivo CSV y use este comando:
New-MigrationBatch -Local -AutoStart -AutoComplete -Name RODB01Move20210422 -CSVData ([System.IO.File]::ReadAllBytes("C:PSRODB01Move20210422.csv")) -TargetDatabases RO-DB03 -BadItemLimit 10
Para mover solo el buzón principal, use el PrimaryOnly
opción; para mover un buzón de archivo, use ArchiveOnly
.