Convertir des boîtes aux lettres Exchange 2003 en utilisateurs à extension messagerie dans Exchange Online
Une fois que vous avez effectué une migration intermédiaire, convertissez les boîtes aux lettres locales en utilisateurs à extension messagerie afin que les utilisateurs locaux puissent se connecter automatiquement à leurs boîtes aux lettres cloud.
Pourquoi convertir des boîtes aux lettres en utilisateurs à extension messagerie ?
Vous devez convertir les boîtes aux lettres locales migrées en utilisateurs à extension messagerie (MEU) afin de pouvoir gérer les utilisateurs cloud de votre organisation locale à l’aide d’Active Directory.
Cet article inclut un script PowerShell qui collecte des informations à partir des boîtes aux lettres basées sur le cloud et un script Visual Basic (VB) qui convertit les boîtes aux lettres Exchange 2003 en meU. Lorsque vous exécutez ce script, les adresses proxy de boîtes aux lettres dans le cloud sont copiées vers des utilisateurs à extension messagerie résidant dans Active Directory. Les propriétés de meU permettent à la synchronisation d’annuaires de faire correspondre l’utilisateur meu à sa boîte aux lettres cloud correspondante.
Nous vous recommandons de convertir des boîtes aux lettres locales en meU pour un lot de migration. Une fois qu’un lot de migration Exchange intermédiaire est terminé, vous avez vérifié que toutes les boîtes aux lettres du lot ont été correctement migrées et que la synchronisation initiale des éléments de boîte aux lettres dans le cloud est terminée. Convertissez les boîtes aux lettres du lot de migration en meU.
Script PowerShell pour collecter les données de boîtes aux lettres cloud
Utilisez les scripts de cette section pour collecter des informations sur les boîtes aux lettres basées sur le cloud et convertir les boîtes aux lettres Exchange 2003 en meU.
Le script PowerShell collecte des informations à partir de vos boîtes aux lettres cloud et les enregistre dans un fichier CSV. Exécutez ce script en premier.
Copiez le script dans le Bloc-notes et enregistrez le fichier en tant que ExportO365UserInfo.ps1.
Remarque
Avant d’exécuter le script, vous devez installer le module PowerShell Exchange Online. Pour obtenir des instructions, consultez Installer et gérer le module PowerShell Exchange Online. Le module utilise l’authentification moderne.
- En règle générale, vous pouvez utiliser le script comme si votre organisation faisait partie de Microsoft 365 ou Microsoft 365 GCC. Si votre organisation fait partie de Office 365 Allemagne, Microsoft 365 GCC High, ou Microsoft 365 DoD, vous devez modifier
Connect-ExchangeOnline
la ligne du script. Plus précisément, vous devez utiliser le paramètre ExchangeEnvironmentName et la valeur appropriée pour votre organisation. Pour plus d'informations, consultez les exemples dans Connexion à Exchange Online PowerShell.
Param($migrationCSVFileName = "migration.csv")
function O365Logon
{
#Check for current open O365 sessions and allow the admin to either use the existing session or create a new one
$session = Get-PSSession | ?{$_.ConfigurationName -eq 'Microsoft.Exchange'}
if($session -ne $null)
{
$a = Read-Host "An open session to Exchange Online PowerShell already exists. Do you want to use this session? Enter y to use the open session, anything else to close and open a fresh session."
if($a.ToLower() -eq 'y')
{
Write-Host "Using existing Exchange Online Powershell Session." -ForeGroundColor Green
return
}
Disconnect-ExchangeOnline -Confirm:$false
}
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
}
function Main
{
#Verify the migration CSV file exists
if(!(Test-Path $migrationCSVFileName))
{
Write-Host "File $migrationCSVFileName does not exist." -ForegroundColor Red
Exit
}
#Import user list from migration.csv file
$MigrationCSV = Import-Csv $migrationCSVFileName
#Get mailbox list based on email addresses from CSV file
$MailBoxList = $MigrationCSV | %{$_.EmailAddress} | Get-Mailbox
$Users = @()
#Get LegacyDN, Tenant, and On-Premises Email addresses for the users
foreach($user in $MailBoxList)
{
$UserInfo = New-Object System.Object
$CloudEmailAddress = $user.EmailAddresses | ?{($_ -match 'onmicrosoft') -and ($_ -cmatch 'smtp:')}
if ($CloudEmailAddress.Count -gt 1)
{
$CloudEmailAddress = $CloudEmailAddress[0].ToString().ToLower().Replace('smtp:', '')
Write-Host "$user returned more than one cloud email address. Using $CloudEmailAddress" -ForegroundColor Yellow
}
else
{
$CloudEmailAddress = $CloudEmailAddress.ToString().ToLower().Replace('smtp:', '')
}
$UserInfo | Add-Member -Type NoteProperty -Name LegacyExchangeDN -Value $user.LegacyExchangeDN
$UserInfo | Add-Member -Type NoteProperty -Name CloudEmailAddress -Value $CloudEmailAddress
$UserInfo | Add-Member -Type NoteProperty -Name OnPremiseEmailAddress -Value $user.PrimarySMTPAddress.ToString()
$Users += $UserInfo
}
#Check for existing csv file and overwrite if needed
if(Test-Path ".\cloud.csv")
{
$delete = Read-Host "The file cloud.csv already exists in the current directory. Do you want to delete it? Enter y to delete, anything else to exit this script."
if($delete.ToString().ToLower() -eq 'y')
{
Write-Host "Deleting existing cloud.csv file" -ForeGroundColor Red
Remove-Item ".\cloud.csv"
}
else
{
Write-Host "Will NOT delete current cloud.csv file. Exiting script." -ForeGroundColor Green
Exit
}
}
$Users | Export-CSV -Path ".\cloud.csv" -notype
(Get-Content ".\cloud.csv") | %{$_ -replace '"', ''} | Set-Content ".\cloud.csv" -Encoding Unicode
Write-Host "CSV File Successfully Exported to cloud.csv" -ForeGroundColor Green
}
O365Logon
Main
Le script Visual Basic convertit les boîtes aux lettres Exchange 2003 locales en meU. Exécutez ce script après avoir exécuté le script PowerShell pour collecter des informations à partir des boîtes aux lettres cloud.
Copiez le script dans le Bloc-notes et enregistrez le fichier en tant que Exchange2003MBtoMEU.vbs.
'Globals/Constants
Const ADS_PROPERTY_APPEND = 3
Dim UserDN
Dim remoteSMTPAddress
Dim remoteLegacyDN
Dim domainController
Dim csvMode
csvMode = FALSE
Dim csvFileName
Dim lastADLookupFailed
Class UserInfo
public OnPremiseEmailAddress
public CloudEmailAddress
public CloudLegacyDN
public LegacyDN
public ProxyAddresses
public Mail
public MailboxGUID
public DistinguishedName
Public Sub Class_Initialize()
Set ProxyAddresses = CreateObject("Scripting.Dictionary")
End Sub
End Class
'Command Line Parameters
If WScript.Arguments.Count = 0 Then
'No parameters passed
WScript.Echo("No parameters were passed.")
ShowHelp()
ElseIf StrComp(WScript.Arguments(0), "-c", vbTextCompare) = 0 And WScript.Arguments.Count = 2 Then
WScript.Echo("Missing DC Name.")
ShowHelp()
ElseIf StrComp(WScript.Arguments(0), "-c", vbTextCompare) = 0 Then
'CSV Mode
csvFileName = WScript.Arguments(1)
domainController = WScript.Arguments(2)
csvMode = TRUE
WScript.Echo("CSV mode detected. Filename: " & WScript.Arguments(1) & vbCrLf)
ElseIf wscript.Arguments.Count <> 4 Then
'Invalid Arguments
WScript.Echo WScript.Arguments.Count
Call ShowHelp()
Else
'Manual Mode
UserDN = wscript.Arguments(0)
remoteSMTPAddress = wscript.Arguments(1)
remoteLegacyDN = wscript.Arguments(2)
domainController = wscript.Arguments(3)
End If
Main()
'Main entry point
Sub Main
'Check for CSV Mode
If csvMode = TRUE Then
UserInfoArray = GetUserInfoFromCSVFile()
Else
WScript.Echo "Manual Mode Detected" & vbCrLf
Set info = New UserInfo
info.CloudEmailAddress = remoteSMTPAddress
info.DistinguishedName = UserDN
info.CloudLegacyDN = remoteLegacyDN
ProcessSingleUser(info)
End If
End Sub
'Process a single user (manual mode)
Sub ProcessSingleUser(ByRef UserInfo)
userADSIPath = "LDAP://" & domainController & "/" & UserInfo.DistinguishedName
WScript.Echo "Processing user " & userADSIPath
Set MyUser = GetObject(userADSIPath)
proxyCounter = 1
For Each address in MyUser.Get("proxyAddresses")
UserInfo.ProxyAddresses.Add proxyCounter, address
proxyCounter = proxyCounter + 1
Next
UserInfo.OnPremiseEmailAddress = GetPrimarySMTPAddress(UserInfo.ProxyAddresses)
UserInfo.Mail = MyUser.Get("mail")
UserInfo.MailboxGUID = MyUser.Get("msExchMailboxGUID")
UserInfo.LegacyDN = MyUser.Get("legacyExchangeDN")
ProcessMailbox(UserInfo)
End Sub
'Populate user info from CSV data
Function GetUserInfoFromCSVFile()
CSVInfo = ReadCSVFile()
For i = 0 To (UBound(CSVInfo)-1)
lastADLookupFailed = false
Set info = New UserInfo
info.CloudLegacyDN = Split(CSVInfo(i+1), ",")(0)
info.CloudEmailAddress = Split(CSVInfo(i+1), ",")(1)
info.OnPremiseEmailAddress = Split(CSVInfo(i+1), ",")(2)
WScript.Echo "Processing user " & info.OnPremiseEmailAddress
WScript.Echo "Calling LookupADInformationFromSMTPAddress"
LookupADInformationFromSMTPAddress(info)
If lastADLookupFailed = false Then
WScript.Echo "Calling ProcessMailbox"
ProcessMailbox(info)
End If
set info = nothing
Next
End Function
'Populate user info from AD
Sub LookupADInformationFromSMTPAddress(ByRef info)
'Lookup the rest of the info in AD using the SMTP address
Set objRootDSE = GetObject("LDAP://RootDSE")
strDomain = objRootDSE.Get("DefaultNamingContext")
Set objRootDSE = nothing
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
BaseDN = "<LDAP://" & domainController & "/" & strDomain & ">"
adFilter = "(&(proxyAddresses=SMTP:" & info.OnPremiseEmailAddress & "))"
Attributes = "distinguishedName,msExchMailboxGUID,mail,proxyAddresses,legacyExchangeDN"
Query = BaseDN & ";" & adFilter & ";" & Attributes & ";subtree"
objCommand.CommandText = Query
Set objCommand.ActiveConnection = objConnection
On Error Resume Next
Set objRecordSet = objCommand.Execute
'Handle any errors that result from the query
If Err.Number <> 0 Then
WScript.Echo "Error encountered on query " & Query & ". Skipping user."
lastADLookupFailed = true
return
End If
'Handle zero or ambiguous search results
If objRecordSet.RecordCount = 0 Then
WScript.Echo "No users found for address " & info.OnPremiseEmailAddress
lastADLookupFailed = true
return
ElseIf objRecordSet.RecordCount > 1 Then
WScript.Echo "Ambiguous search results for email address " & info.OnPremiseEmailAddress
lastADLookupFailed = true
return
ElseIf Not objRecordSet.EOF Then
info.LegacyDN = objRecordSet.Fields("legacyExchangeDN").Value
info.Mail = objRecordSet.Fields("mail").Value
info.MailboxGUID = objRecordSet.Fields("msExchMailboxGUID").Value
proxyCounter = 1
For Each address in objRecordSet.Fields("proxyAddresses").Value
info.ProxyAddresses.Add proxyCounter, address
proxyCounter = proxyCounter + 1
Next
info.DistinguishedName = objRecordSet.Fields("distinguishedName").Value
objRecordSet.MoveNext
End If
objConnection = nothing
objCommand = nothing
objRecordSet = nothing
On Error Goto 0
End Sub
'Populate data from the CSV file
Function ReadCSVFile()
'Open file
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFS.OpenTextFile(csvFileName, 1, false, -1)
'Loop through each line, putting each line of the CSV file into an array to be returned to the caller
counter = 0
Dim CSVArray()
Do While NOT objTextFile.AtEndOfStream
ReDim Preserve CSVArray(counter)
CSVArray(counter) = objTextFile.ReadLine
counter = counter + 1
Loop
'Close and return
objTextFile.Close
Set objTextFile = nothing
Set objFS = nothing
ReadCSVFile = CSVArray
End Function
'Process the migration
Sub ProcessMailbox(User)
'Get user properties
userADSIPath = "LDAP://" & domainController & "/" & User.DistinguishedName
Set MyUser = GetObject(userADSIPath)
'Add x.500 address to list of existing proxies
existingLegDnFound = FALSE
newLegDnFound = FALSE
'Loop through each address in User.ProxyAddresses
For i = 1 To User.ProxyAddresses.Count
If StrComp(address, "x500:" & User.LegacyDN, vbTextCompare) = 0 Then
WScript.Echo "x500 proxy " & User.LegacyDN & " already exists"
existingLegDNFound = true
End If
If StrComp(address, "x500:" & User.CloudLegacyDN, vbTextCompare) = 0 Then
WScript.Echo "x500 proxy " & User.CloudLegacyDN & " already exists"
newLegDnFound = true
End If
Next
'Add existing leg DN to proxy list
If existingLegDnFound = FALSE Then
WScript.Echo "Adding existing legacy DN " & User.LegacyDN & " to proxy addresses"
User.ProxyAddresses.Add (User.ProxyAddresses.Count+1),("x500:" & User.LegacyDN)
End If
'Add new leg DN to proxy list
If newLegDnFound = FALSE Then
'Add new leg DN to proxy addresses
WScript.Echo "Adding new legacy DN " & User.CloudLegacyDN & " to existing proxy addresses"
User.ProxyAddresses.Add (User.ProxyAddresses.Count+1),("x500:" & User.CloudLegacyDN)
End If
'Dump out new list of addresses
WScript.Echo "Original proxy addresses updated count: " & User.ProxyAddresses.Count
For i = 1 to User.ProxyAddresses.Count
WScript.Echo " proxyAddress " & i & ": " & User.ProxyAddresses(i)
Next
'Delete the Mailbox
WScript.Echo "Opening " & userADSIPath & " as CDOEXM::IMailboxStore object"
Set Mailbox = MyUser
Wscript.Echo "Deleting Mailbox"
On Error Resume Next
Mailbox.DeleteMailbox
'Handle any errors deleting the mailbox
If Err.Number <> 0 Then
WScript.Echo "Error " & Err.number & ". Skipping User." & vbCrLf & "Description: " & Err.Description & vbCrLf
Exit Sub
End If
On Error Goto 0
'Save and continue
WScript.Echo "Saving Changes"
MyUser.SetInfo
WScript.Echo "Refeshing ADSI Cache"
MyUser.GetInfo
Set Mailbox = nothing
'Mail Enable the User
WScript.Echo "Opening " & userADSIPath & " as CDOEXM::IMailRecipient"
Set MailUser = MyUser
WScript.Echo "Mail Enabling user using targetAddress " & User.CloudEmailAddress
MailUser.MailEnable User.CloudEmailAddress
WScript.Echo "Disabling Recipient Update Service for user"
MyUser.PutEx ADS_PROPERTY_APPEND, "msExchPoliciesExcluded", Array("{26491CFC-9E50-4857-861B-0CB8DF22B5D7}")
WScript.Echo "Saving Changes"
MyUser.SetInfo
WScript.Echo "Refreshing ADSI Cache"
MyUser.GetInfo
'Add Legacy DN back on to the user
WScript.Echo "Writing legacyExchangeDN as " & User.LegacyDN
MyUser.Put "legacyExchangeDN", User.LegacyDN
'Add old proxies list back on to the MEU
WScript.Echo "Writing proxyAddresses back to the user"
For j=1 To User.ProxyAddresses.Count
MyUser.PutEx ADS_PROPERTY_APPEND, "proxyAddresses", Array(User.ProxyAddresses(j))
MyUser.SetInfo
MyUser.GetInfo
Next
'Add mail attribute back on to the MEU
WScript.Echo "Writing mail attribute as " & User.Mail
MyUser.Put "mail", User.Mail
'Add msExchMailboxGUID back on to the MEU
WScript.Echo "Converting mailbox GUID to writable format"
Dim mbxGUIDByteArray
Call ConvertHexStringToByteArray(OctetToHexString(User.MailboxGUID), mbxGUIDByteArray)
WScript.Echo "Writing property msExchMailboxGUID to user object with value " & OctetToHexString(User.MailboxGUID)
MyUser.Put "msExchMailboxGUID", mbxGUIDByteArray
WScript.Echo "Saving Changes"
MyUser.SetInfo
WScript.Echo "Migration Complete!" & vbCrLf
End Sub
'Returns the primary SMTP address of a user
Function GetPrimarySMTPAddress(Addresses)
For Each address in Addresses
If Left(address, 4) = "SMTP" Then GetPrimarySMTPAddress = address
Next
End Function
'Converts Hex string to byte array for writing to AD
Sub ConvertHexStringToByteArray(ByVal strHexString, ByRef pByteArray)
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Stream = CreateObject("ADODB.Stream")
Temp = FSO.GetTempName()
Set TS = FSO.CreateTextFile(Temp)
For i = 1 To (Len (strHexString) -1) Step 2
TS.Write Chr("&h" & Mid (strHexString, i, 2))
Next
TS.Close
Stream.Type = 1
Stream.Open
Stream.LoadFromFile Temp
pByteArray = Stream.Read
Stream.Close
FSO.DeleteFile Temp
Set Stream = nothing
Set FSO = Nothing
End Sub
'Converts raw bytes from AD GUID to readable string
Function OctetToHexString (arrbytOctet)
OctetToHexStr = ""
For k = 1 To Lenb (arrbytOctet)
OctetToHexString = OctetToHexString & Right("0" & Hex(Ascb(Midb(arrbytOctet, k, 1))), 2)
Next
End Function
Sub ShowHelp()
WScript.Echo("This script runs in two modes, CSV Mode and Manual Mode." & vbCrLf & "CSV Mode allows you to specify a CSV file from which to pull usernames." & vbCrLf& "Manual mode allows you to run the script against a single user.")
WSCript.Echo("Both modes require you to specify the name of a DC to use in the local domain." & vbCrLf & "To run the script in CSV Mode, use the following syntax:")
WScript.Echo(" cscript Exchange2003MBtoMEU.vbs -c x:\csv\csvfilename.csv dc.domain.com")
WScript.Echo("To run the script in Manual Mode, you must specify the users AD Distinguished Name, Remote SMTP Address, Remote Legacy Exchange DN, and Domain Controller Name.")
WSCript.Echo(" cscript Exchange2003MBtoMEU.vbs " & chr(34) & "CN=UserName,CN=Users,DC=domain,DC=com" & chr(34) & " " & chr(34) & "user@cloudaddress.com" & chr(34) & " " & chr(34) & "/o=Cloud Org/ou=Cloud Site/ou=Recipients/cn=CloudUser" & chr(34) & " dc.domain.com")
WScript.Quit
End Sub
Que font les scripts ?
ExportO365UserInfo.ps1
ExportO365UserInfo.ps1 est un script PowerShell que vous exécutez dans votre organisation cloud pour collecter des informations sur les boîtes aux lettres cloud que vous avez migrées pendant la migration Intermédiaire d’Exchange. Il utilise un fichier CSV pour définir l'étendue du lot d'utilisateurs. Nous vous recommandons d’utiliser le même fichier CSV de migration que celui utilisé pour migrer un lot d’utilisateurs.
Lorsque vous exécutez le script ExportO365UserInfo, les actions suivantes se produisent :
- Les propriétés suivantes sont collectées à partir des boîtes aux lettres cloud pour les utilisateurs répertoriés dans le fichier CSV d’entrée :
- Adresse SMTP principale.
- Adresse SMTP principale de la boîte aux lettres locale correspondante.
- Autres adresses proxy pour la boîte aux lettres cloud.
- LegacyExchangeDN
- Les propriétés collectées sont enregistrées dans un fichier CSV nommé Cloud.csv.
Exchange2003MBtoMEU.vbs
Exchange2003MBtoMEU.vbs est un script VB que vous exécutez dans votre organisation Exchange 2003 locale pour convertir des boîtes aux lettres en meU. Il utilise le fichier Cloud.csv qui a été produit par le script PowerShell ExportO365UserInfo.ps1.
Lorsque vous exécutez le script Exchange2003MBtoMEU.vbs, les actions suivantes se produisent pour chaque boîte aux lettres répertoriée dans le fichier CSV d’entrée :
- Collecte les informations du fichier CSV d'entrée, ainsi que de la boîte aux lettres locale.
- Crée une liste d'adresses proxy à partir des boîtes aux lettres locale et cloud pour les ajouter à l'utilisateur à extension messagerie.
- Supprime la boîte aux lettres locale.
- Crée un MEU avec les propriétés suivantes :
legacyExchangeDN : valeur de la boîte aux lettres locale.
mail : smtp principal de la boîte aux lettres cloud.
msExchMailboxGuid : valeur de la boîte aux lettres locale.
proxyAddresses : valeurs de la boîte aux lettres locale et de la boîte aux lettres cloud.
targetAddress : lecture à partir de la boîte aux lettres locale ; la valeur est le SMTP principal de la boîte aux lettres cloud.
Importante
Pour permettre le désintégment de Exchange Online à Exchange 2003, vous devez remplacer la valeur de la propriété msExchMailboxGuid sur le MEU par le GUID de la boîte aux lettres cloud. Pour obtenir les valeurs GUID des boîtes aux lettres basées sur le cloud et les enregistrer dans un fichier CSV, exécutez la commande PowerShell Exchange Online suivante :
Get-Mailbox | Select PrimarySmtpAddress,Guid | Export-csv -Path .\guid.csv
Cette commande extrait l'adresse SMTP principale et le Guid de toutes les boîtes aux lettres cloud dans le fichier guid.csv, puis enregistre celui-ci dans l'annuaire en cours.
Au lieu d'utiliser le fichier CSV d'entrée pour convertir un lot de boîtes aux lettres, vous pouvez exécuter le script Exchange2003MBtoMEU.vbs en mode manuel pour convertir une boîte aux lettres à la fois. Si vous choisissez cette méthode, vous devez fournir les paramètres d’entrée suivants :
- le nom unique (DN) de la boîte aux lettres locale ;
- l'adresse SMTP principale de la boîte aux lettres cloud ;
- le DN hérité Exchange pour la boîte aux lettres cloud ;
- un nom de contrôleur de domaine dans votre organisation Exchange 2003.
Étapes de conversion de boîtes aux lettres locales en utilisateurs à extension messagerie
Exécutez ExportO365UserInfo.ps1 dans votre organisation Exchange Online. Utilisez le fichier CSV pour le lot de migration en tant que fichier d'entrée. Le script crée un fichier CSV nommé Cloud.csv.
cd <location of the script> .\ExportO365UserInfo.ps1 <CSV input file>
Par exemple :
cd c:\data\scripts .\ExportO365UserInfo.ps1 .\MigrationBatch1.csv
Copiez le script Exchange2003MBtoMEU.vbs et le fichier Cloud.csv vers le même annuaire au sein de votre organisation locale.
Dans votre organisation en local, exécutez la commande suivante :
cscript Exchange2003MBtoMEU.vbs -c .\Cloud.csv <FQDN of on-premises domain controller>
Par exemple :
cscript Exchange2003MBtoMEU.vbs -c .\Cloud.csv DC1.contoso.com
Pour exécuter le script en mode manuel, entrez la commande suivante. Préservez les espaces entre les valeurs.
cscript Exchange2003MBtoMEU.vbs "<DN of on-premises mailbox>" "<Primary SMTP of cloud mailbox>" "<ExchangeLegacyDN of cloud mailbox>" <FQDN of on-premises domain controller>
Par exemple :
cscript Exchange2003MBtoMEU.vbs "CN=Ann Beebe,CN=Users,DC=contoso,DC=com" "annb@contoso.onmicrosoft.com" "/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=d808d014cec5411ea6de1f70cc116e7b-annb" DC1.contoso.com
Vérifiez que les nouveaux utilisateurs à extension messagerie ont été créés. Dans Utilisateurs et ordinateurs Active Directory, procédez comme suit :
Cliquez sur Action>Rechercher.
Cliquez sur l' onglet Exchange.
Sélectionnez Afficher uniquement les destinataires Exchange, puis Utilisateurs avec une adresse e-mail externe.
Cliquez sur Rechercher maintenant.
Les boîtes aux lettres converties en utilisateurs à extension messagerie sont répertoriées sous Résultats de la recherche.
Utilisez Utilisateurs et ordinateurs Active Directory, ASI Edit ou Ldp.exe pour vérifier que les propriétés MEU suivantes sont remplies avec les informations correctes :
- legacyExchangeDN
- msExchMailboxGuid*
- proxyAddresses
- targetAddress
* Comme expliqué précédemment, le script Exchange2003MBtoMEU.vbs conserve la valeur msExchMailboxGuid de la boîte aux lettres locale. Pour activer le désintégment de Microsoft 365 ou Office 365 vers Exchange 2003, vous devez remplacer la valeur de la propriété msExchMailboxGuid sur le MEU par le GUID de la boîte aux lettres cloud.