Pour résoudre ce problème, deux options sont disponibles :
Exporter les legacyExchangeDN du domaine source (si l'accès est toujours possible) et les appliquer en tant qu'adresses X.500 aux boîtes aux lettres de destination. Une commande PowerShell permet d'exporter les legacyExchangeDN, puis de les importer dans l'environnement de destination.
Si l'accès à l'environnement source n'est pas possible, une commande PowerShell peut être utilisée pour supprimer l'adresse IMCEAEX des en-têtes de message dans les boîtes aux lettres de destination. Cette commande recherche les messages avec l'adresse IMCEAEX et la supprime des en-têtes de message, empêchant ainsi le NDR de se produire.
En résumé, les erreurs IMCEAEX dans les NDR sont causées par des adresses X.500 non résolubles lors des migrations Exchange ou des modifications de boîtes aux lettres. Pour résoudre ce problème, il est possible soit d'exporter et d'appliquer les legacyExchangeDN de l'environnement source, soit de supprimer l'adresse IMCEAEX des en-têtes de message dans les boîtes aux lettres de destination en utilisant des commandes PowerShell.
En résumé, les erreurs IMCEAEX dans les NDR sont causées par des adresses X.500 non résolubles lors des migrations Exchange ou des modifications de boîtes aux lettres. Pour résoudre ce problème, il est possible soit d'exporter et d'appliquer les legacyExchangeDN de l'environnement source, soit de supprimer l'adresse IMCEAEX des en-têtes de message dans les boîtes aux lettres de destination en utilisant des commandes PowerShell.
Voici comment procéder techniquement pour réaliser les deux options mentionnées :
NB : Au bas de l'article, il y a un lien vers un outil GUI que j'ai mis sur GitHub pour ajouter la valeur X500 à une boîte aux lettres.
1. Exporter les legacyExchangeDN du domaine source et les appliquer aux boîtes aux lettres de destination :
- Se connecter à Exchange Management Shell dans l'environnement source
- Exécuter la commande suivante pour exporter les legacyExchangeDN :
Get-Mailbox
\ -ResultSize Unlimited | Select-Object Name,LegacyExchangeDN | Export-Csv
\ -Path "C:\LegacyExchangeDNs.csv" -NoTypeInformation
- Copier le fichier CSV exporté dans l'environnement de destination
- Se connecter à Exchange Management Shell dans l'environnement de destination
- Exécuter la commande suivante pour importer les legacyExchangeDN en tant qu'adresses X.500 :
Import-Csv "C:\LegacyExchangeDNs.csv" | ForEach-Object {
Set-Mailbox -Identity $_.Name
\ -EmailAddresses @{Add="X500:"+$_.LegacyExchangeDN}
}
Solution 2 :
1. Supprimer l'adresse IMCEAEX des en-têtes de message dans les boîtes aux lettres de destination :
- Se connecter à Exchange Management Shell dans l'environnement de destination
- Exécuter la commande suivante pour supprimer l'adresse IMCEAEX des en-têtes de message :
Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery 'IMCEAEX'
\ -TargetMailbox 'IMCEAEXCleanup' -TargetFolder 'IMCEAEXMessages'
\ -LogLevel Full -DeleteContent
Cette commande recherche tous les messages contenant "IMCEAEX" dans les en-têtes, les copie dans un dossier nommé "IMCEAEXMessages" dans une boîte aux lettres appelée "IMCEAEXCleanup", puis supprime les messages d'origine.
Notez que la suppression de l'adresse IMCEAEX des en-têtes de message ne corrige pas le problème sous-jacent, mais empêche simplement les NDR de se produire. La première option, qui consiste à appliquer les legacyExchangeDN correct, est la solution préférée si possible.
Comment créer une adresse X.500 à partir d'un message IMCEAEX ?
Pour créer une adresse X.500 à partir d'un message IMCEAEX, suivez ces étapes :Remplacez tout caractère de soulignement (_) par un caractère de barre oblique (/)
Remplacez "+20" par un espace
Remplacez "+2E" par un point
Remplacez "+28" par un caractère d'ouverture de parenthèse (
Remplacez "+29" par un caractère de fermeture de parenthèse )
Supprimez la chaîne "IMCEAEX-" au début
Supprimez la chaîne "@domain.com" à la fin
Ajoutez "X500:" au début
IMCEAEX-_O=CONTOSO_OU=EXCHANGE+20ADMINISTRATIVE+20GROUP+20+28FYDIBOHF23SPDLT+29_CN=RECIPIENTS_CN=JohnDoe@contoso.com
X500:/O=CONTOSO/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=JohnDoe
Set-Mailbox -Identity "John.Doe@contoso.com"
\ -EmailAddresses
@{add="X500:/O=CONTOSO/OU=EXCHANGE ADMINISTRATIVE GROUP
(FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=JohnDoe"}
Voici un script pour automatiser le process d'extraction de la valeur X500 d'un message IMCEAEX et puis de l'ajouter directement a la mailbox
Param(
[Parameter(Mandatory=$true)]
[string]$IMCEAEX,
[Parameter(Mandatory=$true)]
[string]$Mailbox
)
if ($IMCEAEX -notmatch "^IMCEAEX") {
Write-Host -ForegroundColor Red
"Sorry, your IMCEAEX string must begin with IMCEAEX"
exit 1
}
$X500 = $IMCEAEX -replace "IMCEAEX-","X500:" -replace "_","/"
\ -replace "\+20"," " -replace "\+28","(" -replace "\+29",")"
\ -replace "\+2E","." -replace "%3D","=" -split "@" | Select-Object -First 1
Write-Host
Write-Host -ForegroundColor DarkCyan "Your converted X.500 address is:"
Write-Host -ForegroundColor Green $X500
Write-Host
Write-Host -ForegroundColor DarkCyan "Running Set-Mailbox command..."
Try {
Set-Mailbox -Identity $Mailbox -EmailAddresses @{add="$X500"}
Write-Host -ForegroundColor Green
"X.500 address successfully added to the mailbox: $Mailbox"
}
Catch {
Write-Host -ForegroundColor Red
"An error occurred while adding the X.500 address to the mailbox:"
Write-Host -ForegroundColor Red $_.Exception.Message
exit 1
}
Write-Host
Write-Host -ForegroundColor Yellow "Done adding X500 value into $($Mailbox) !!"
Vous pouvez également trouver un script pour automatiser l'ensemble du processus d'extraction de X500 de la valeur IMCEAEX et le placer dans la boîte aux lettres Exchange.