Chuyển đổi hộp thư Exchange 2003 thành người dùng hỗ trợ thư

Sau khi bạn đã hoàn tất di chuyển theo giai đoạn, hãy chuyển đổi các hộp thư thành người dùng hỗ trợ thư để các hộp thư có thể tự động kết nối đến hộp thư điện toán đám mây.

Tại sao lại chuyển đổi hộp thư thành người dùng hỗ trợ thư?

Nếu bạn đã hoàn tất di chuyển Exchange theo giai đoạn để di chuyển hộp thư tại chỗ Exchange 2003 của tổ chức bạn sang Office 365 và bạn muốn quản lý người dùng trên nền điện toán đám mây từ tổ chức tại chỗ của mình—bằng Active Directory—bạn nên chuyển đổi hộp thư tại chỗ thành người dùng hỗ trợ thư (MEU).

Bài viết này chứa tập lệnh Windows PowerShell thu thập thông tin từ các hộp thư trên nền điện toán đám mây và tập lệnh Visual Basic (VB) mà bạn có thể chạy để chuyển đổi hộp thư Exchange 2003 thành MEU. Khi bạn chạy tập lệnh này, địa chỉ proxy từ hộp thư trên nền điện toán đám mây sẽ được sao chép vào MEU nằm trong Active Directory. Ngoài ra, các thuộc tính MEU sẽ kích hoạt công cụ Đồng bộ Thư mục Dịch vụ Trực tuyến của Microsoft (DirSync) để khớp MEU với hộp thư điện toán đám mây tương ứng của chúng

Chúng tôi khuyên bạn nên chuyển đổi hộp thư tại chỗ thành MEU đối với lô di chuyển. Sau khi hoàn tất lô di chuyển Exchange theo giai đoạn và bạn đã xác minh rằng tất cả các hộp thư trong lô đều được di chuyển thành công, đồng thời, đồng bộ hóa ban đầu của các mục hộp thư vào đám mây đã hoàn tất, hãy chuyển đổi hộp thư trong lô di chuyển thành MEU.

Tập lệnh PowerShell để thu thập dữ liệu từ các hộp thư điện toán đám mây

Bạn có thể sử dụng các tập lệnh dưới đây để thu thập thông tin về hộp thư trên nền điện toán đám mây và chuyển đổi hộp thư Exchange 2007 thành MEU.

Tập lệnh sau thu thập thông tin từ hộp thư điện toán đám mây của bạn và lưu vào một tệp CSV. Chạy tập lệnh này trước tiên.

Sao chép tập lệnh bên dưới vào một tệp .txt, rồi lưu tệp dưới dạng ExportO365UserInfo.ps1.

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 Office 365 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 Office 365 Powershell Session." -ForeGroundColor Green
return
}
$session | Remove-PSSession
}
Write-Host "Please enter your Office 365 credentials" -ForeGroundColor Green
$cred = Get-Credential
$s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection
$importresults = Import-PSSession $s
}

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-Premise 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

Tập lệnh Visual Basic sau sẽ chuyển đổi hộp thư Exchange 2003 tại chỗ thành MEU. Chạy tập lệnh này sau khi bạn đã chạy tập lệnh để thu thập thông tin từ các hộp thư điện toán đám mây.

Sao chép tập lệnh bên dưới vào một tệp .txt, rồi lưu tệp dưới dạng 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 user names." & 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

Các tập lệnh có chức năng gì?

ExportO365UserInfo.ps1

Đây là một tập lệnh Windows PowerShell mà bạn chạy trong tổ chức trên nền điện toán đám mây của mình để thu thập thông tin về các hộp thư điện toán đám mây mà bạn đã di chuyển trong quá trình di chuyển Exchange theo giai đoạn. Tập lệnh này sử dụng một tệp CSV để di chuyển người dùng theo lô. Chúng tôi khuyên bạn nên sử dụng cùng một tệp CSV di chuyển mà bạn đã sử dụng để di chuyển lô người dùng

Khi bạn chạy tập lệnh ExportO365UserInfo:

  • Các thuộc tính sau đây được thu thập từ hộp thư điện toán đám mây cho người dùng được liệt kê trong tệp CSV đầu vào:

    • Địa chỉ SMTP chính

    • Địa chỉ SMTP chính của hộp thư tại chỗ tương ứng

    • Địa chỉ proxy khác cho hộp thư điện toán đám mây

    • LegacyExchangeDN

  • Các thuộc tính đã thu thập được lưu vào một tệp CSV có tên là Cloud.csv.

Exchange2003MBtoMEU.vbs

Đây là một tập lệnh VB mà bạn chạy trong tổ chức Exchange 2003 tại chỗ của mình để chuyển đổi hộp thư thành MEU. Tập lệnh này sử dụng tệp Cloud.csv, được xuất bằng tập lệnh ExportO365UserInfo.

Khi bạn chạy tập lệnh Exchange2003MBtoMEU.vbs, tập lệnh này sẽ thực hiện như sau đối với từng hộp thư được liệt kê trong tệp CSV đầu vào:

  • Thu thập thông tin từ tệp CSV đầu vào và từ hộp thư tại chỗ.

  • Tạo danh sách địa chỉ proxy từ hộp thư tại chỗ và điện toán đám mây để thêm vào MEU.

  • Xóa hộp thư tại chỗ.

  • Tạo một MEU và điền các thuộc tính sau:

    • legacyExchangeDN - Giá trị từ hộp thư tại chỗ.

    • mail - SMTP chính của hộp thư điện toán đám mây.

    • msExchMailboxGuid - Giá trị từ hộp thư tại chỗ.

    • proxyAddresses - Giá trị từ cả hộp thư tại chỗ và hộp thư điện toán đám mây.

    • targetAddress - Đọc từ hộp thư tại chỗ; giá trị là SMTP chính của hộp thư điện toán đám mây.

      Quan trọng: Để cho phép di chuyển từ Office 365 tới Exchange 2003, bạn phải thay thế giá trị msExchMailboxGuid trên MEU bằng Guid từ hộp thư trên nền điện toán đám mây. Để có được Guid cho hộp thư trong tổ chức điện toán đám mây của bạn và lưu chúng vào một tệp CSV, hãy chạy lệnh PowerShell sau đây:

      Get-Mailbox | Select PrimarySmtpAddress, Guid | Export-csv -Path .\guid.csv

      Lệnh này trích xuất địa chỉ SMTP chính và Guid cho mọi hộp thư điện toán đám mây vào tệp guid.csv, rồi lưu tệp này vào thư mục hiện tại.

Thay vì sử dụng tệp CSV đầu vào để chuyển đổi một lô hộp thư, bạn có thể chạy tập lệnh Exchange2003MBtoMEU.vbs ở chế độ thủ công để chuyển đổi mỗi lúc một hộp thư. Để thực hiện điều này, bạn sẽ cần phải cung cấp các tham số đầu vào sau đây:

  • Tên đặc trưng (DN) của hộp thư tại chỗ.

  • Địa chỉ SMTP chính của hộp thư điện toán đám mây.

  • DN Thừa tự của Exchange cho hộp thư điện toán đám mây.

  • Tên bộ kiểm soát miền trong tổ chức Exchange 2003 của bạn.

Các bước chuyển đổi hộp thư tại chỗ thành MEU

  1. Chạy ExportO365UserInfo trong tổ chức điện toán đám mây của bạn. Sử dụng tệp CSV cho lô di chuyển làm tệp đầu vào. Tập lệnh này tạo tệp CSV có tên là Cloud.csv.

    .\ExportO365UserInfo.ps1 <CSV input file>

    Ví dụ:

    .\ExportO365UserInfo.ps1 .\MigrationBatch1.csv

    Ví dụ này giả định rằng tập lệnh và tệp CSV đầu vào đều nằm trong cùng một thư mục.

  2. Sao chép Exchange2003MBtoMEU.vbs và Cloud.csv vào cùng một thư mục trong tổ chức tại chỗ của bạn.

  3. Trong tổ chức tại chỗ của bạn, hãy chạy lệnh sau đây:

    cscript Exchange2003MBtoMEU.vbs –c .\Cloud.csv <FQDN of on-premises domain controller>

    Ví dụ:

    cscript Exchange2003MBtoMEU.vbs –c .\Cloud.csv DC1.contoso.com

    Để chạy tập lệnh ở chế độ thủ công, hãy nhập lệnh sau đây. Sử dụng khoảng trắng giữa mỗi giá trị.

    cscript Exchange2003MBtoMEU.vbs “<DN of on-premises mailbox>” “
    <Primary SMTP of cloud mailbox>” “<ExchangeLegacyDN of cloud mailbox>”
    <FQDN of on-premises domain controller>

    Ví dụ:

    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
  4. Xác minh rằng đã tạo MEU mới. Trong Người dùng và Máy tính Active Directory, hãy làm như sau:

    1. Bấm vào Hành động > Tìm kiếm.

    2. Bấm vào tab Exchange.

    3. Chọn Chỉ hiển thị người nhận Exchange, rồi chọn Người dùng có địa chỉ email bên ngoài.

    4. Bấm vào Tìm Ngay.

    Những hộp thư đã được chuyển đổi thành MEU được liệt kê dưới Kết quả tìm kiếm.

  5. Sử dụng Người dùng và Máy tính Active Directory, Chỉnh sửa ADSI hoặc Ldp.exe để xác minh các thuộc tính MEU sau đây được điền đúng thông tin.

    • legacyExchangeDN

    • mail

    • msExchMailboxGuid *

    • ProxyAddresses

    • targetAddress

    * Như đã giải thích trước đó, tập lệnh Exchange2003MBtoMEU.vbs sẽ giữ nguyên giá trị msExchMailboxGuid từ hộp thư tại chỗ. Để cho phép di chuyển từ Office 365 tới Exchange 2003, bạn phải thay thế giá trị cho thuộc tính msExchMailboxGuid trên MEU bằng Guid từ hộp thư trên nền điện toán đám mây.

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×