Passer au contenu principal

Détecter et résoudre les problèmes de migration de boîtes aux lettres liés aux paramètres de rétention

Résolvez le remplissage du dossier Éléments récupérables causé par les blocages sur vos Boîtes aux lettres de Destination avec la copie de b

Remarque : L’intégration PowerShell nécessite un abonnement Pro ou Enterprise à ShareGate Migrate. Elle n’est pas disponible avec le plan Essentials.

Lorsque vous copiez des boîtes aux lettres vers Microsoft 365, certains paramètres de rétention ou de conservation peuvent entraîner le remplissage du dossier Recoverable Items à la destination.

La cause la plus fréquente est liée aux paramètres de rétention, qui sont souvent activés par défaut sur les nouvelles boîtes aux lettres Exchange Online.

ShareGate Migrate détecte ce problème potentiel et répertorie les boîtes aux lettres concernées dans un rapport que vous pouvez retrouver sur l’écran Copy Summary, affiché avant de lancer la migration de vos boîtes aux lettres.

Comment identifier et désactiver les paramètres de rétention problématiques

Vous pouvez identifier et désactiver les paramètres de rétention problématiques sur les boîtes aux lettres avant de lancer votre migration, puis les réactiver par la suite à l’aide des scripts PowerShell fournis dans cet article.

Lorsque vous préparez une migration avec Copy mailboxes ou Copy from Gmail, une notification d’avertissement s’affichera dans l’écran Copy summary si l’une de vos boîtes aux lettres possède des paramètres de rétention.

Lorsque vous voyez le message d’avertissement, cliquez sur Export list of Single Item Recovery values pour enregistrer la liste sur votre disque. Ensuite, mettez à jour le script ci-dessous avec le chemin de votre fichier CSV exporté et exécutez-le sur votre environnement de destination.

Une fois le script exécuté, attendez au moins 4 heures pour que les paramètres prennent effet dans Exchange Online avant de poursuivre votre migration.

Désactiver les paramètres de rétention

$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
}

Restaurer les paramètres de rétention

Vous pouvez mettre à jour le script ci-dessous avec le chemin de votre fichier CSV exporté et l’exécuter pour réactiver les paramètres de conservation sur votre destination.

$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
}


"Cet article a été traduit à l’aide de l’intelligence artificielle. En cas de doute, veuillez vous référer à la version originale en anglais."

Avez-vous trouvé la réponse à votre question ?