Ir al contenido principal

Detectar y solucionar problemas de migración de buzones relacionados con configuraciones de retención

Soluciona el llenado de la Carpeta de Elementos recuperables por retenciones en tus Buzones de Destino al copiar Buzones y copiar desde Gmai

Nota: La integración con PowerShell requiere una suscripción Pro o Enterprise de ShareGate Migrate. No está disponible en el plan Essentials.

Cuando copias buzones a Microsoft 365, ciertas configuraciones de retención o retención legal pueden hacer que la carpeta Recoverable Items se llene en el destino.

La causa más común son las configuraciones de retención, que suelen estar habilitadas por defecto en los nuevos buzones de Exchange Online.

ShareGate Migrate detecta este posible problema y muestra los buzones afectados en un informe que puedes encontrar en la pantalla Copy Summary, que se muestra antes de iniciar la migración de tus buzones.

Cómo identificar y desactivar configuraciones de retención problemáticas

Puedes identificar y desactivar las configuraciones de retención problemáticas en los buzones antes de iniciar la migración de buzones, y volver a activarlas después usando los scripts de PowerShell que aparecen en este artículo.

Cuando configuras una migración con Copy mailboxes o Copy from Gmail, recibirás una notificación de advertencia en la pantalla Copy summary si alguno de tus buzones tiene configuraciones de retención activas.

Cuando veas el mensaje de advertencia, haz clic en Export list of Single Item Recovery values para guardar la lista en tu unidad. Luego, actualiza el script de abajo con la ruta de tu archivo CSV exportado y ejecútalo en tu entorno de destino.

Una vez que el script termine de ejecutarse, espera al menos 4 horas para que las configuraciones se apliquen en Exchange Online antes de continuar con tu migración.

Desactivar configuraciones de retención

$CsvPath = Read-Host "Replace this message with the absolute path of the report you saved on your drive between these quotation marks"

$CsvPath = $CsvPath.Trim('"')

if (-not $CsvPath) {
Write-Error "No path provided. Exiting."
return
}

if (-not (Test-Path -LiteralPath $CsvPath)) {
Write-Error "File not found at '$CsvPath'. Exiting."
return
}

$ErrorActionPreference = 'Stop'

$ModuleName = "ExchangeOnlineManagement"
$RequiredVersion = "3.9.0"

$module = Get-Module -ListAvailable -Name $ModuleName | Where-Object {
$_.Version -eq [Version]$RequiredVersion
}

if (-not $module) {
Install-Module -Name $ModuleName -RequiredVersion $RequiredVersion `
-Scope CurrentUser -Force -AllowClobber
}

Import-Module -Name $ModuleName -RequiredVersion $RequiredVersion -Force

Connect-ExchangeOnline -ShowBanner:$false

try {
$rows = Import-Csv -LiteralPath $CsvPath

foreach ($r in $rows) {
$email = $r.EmailAddress

if ($r.SingleItemRecoveryEnabled -ieq 'true') {
Set-Mailbox -Identity $email -SingleItemRecoveryEnabled $false
Write-Host "Disabled SingleItemRecovery: $email"
}

}
}
finally {
Disconnect-ExchangeOnline -Confirm:$false
}

Restaurar configuraciones de retención

Puedes actualizar el siguiente script con la ruta de tu archivo CSV exportado y ejecutarlo para volver a habilitar las retenciones en tu destino.

$CsvPath = Read-Host "Replace this message with the absolute path of the report you saved on your drive between these quotation marks"

$CsvPath = $CsvPath.Trim('"')

if (-not $CsvPath) {
Write-Error "No path provided. Exiting."
return
}

if (-not (Test-Path -LiteralPath $CsvPath)) {
Write-Error "File not found at '$CsvPath'. Exiting."
return
}

$ErrorActionPreference = 'Stop'

$ModuleName = "ExchangeOnlineManagement"
$RequiredVersion = "3.9.0"

$module = Get-Module -ListAvailable -Name $ModuleName | Where-Object {
$_.Version -eq [Version]$RequiredVersion
}

if (-not $module) {
Install-Module -Name $ModuleName -RequiredVersion $RequiredVersion `
-Scope CurrentUser -Force -AllowClobber
}

Import-Module -Name $ModuleName -RequiredVersion $RequiredVersion -Force

Connect-ExchangeOnline -ShowBanner:$false

try {
$rows = Import-Csv -LiteralPath $CsvPath

foreach ($r in $rows) {
$email = $r.EmailAddress

if ($r.SingleItemRecoveryEnabled -ieq 'true') {
Set-Mailbox -Identity $email -SingleItemRecoveryEnabled $true
Write-Host "Enabled SingleItemRecovery: $email"
}
}
}
finally {
Disconnect-ExchangeOnline -Confirm:$false
}


"Este artículo fue traducido usando inteligencia artificial. En caso de duda, consulta la versión original en inglés."

¿Ha quedado contestada tu pregunta?