ย้ายกล่องจดหมายไปยัง Exchange Online ด้วย PowerShell
หลังจากติดตั้งตัวช่วยสร้างการกำหนดค่าไฮบริด (HCW) คุณต้องการย้ายกล่องจดหมายไปยัง Exchange Online ด้วย PowerShell คำนี้เรียกอีกอย่างว่าการเริ่มต้นใช้งานกล่องจดหมายไปยังระบบคลาวด์ ดังนั้นคุณต้องกรอกอะไรใน PowerShell เพื่อเริ่มการโยกย้ายกล่องจดหมาย ในบทความนี้ คุณจะได้เรียนรู้วิธีโยกย้ายกล่องจดหมายไปยัง Exchange Online ด้วย PowerShell
วิธีย้ายกล่องจดหมายไปยัง Exchange Online ด้วย PowerShell
เมื่อต้องการย้ายกล่องจดหมายไปยัง Exchange Online ด้วย PowerShell ให้ทำตามขั้นตอนเหล่านี้:
1. เชื่อมต่อกับ Exchange Online PowerShell
เริ่ม PowerShell ในฐานะผู้ดูแลระบบและเชื่อมต่อกับ Exchange Online PowerShell
Connect-ExchangeOnlineหมายเหตุ: คุณไม่ได้ผลักดันกล่องจดหมายภายในองค์กรไปยัง Exchange Online ที่จริงแล้ว คุณกำลังดึงกล่องจดหมายภายในองค์กรจาก Exchange Online นั่นเป็นเหตุผลที่คุณต้องเชื่อมต่อกับ Exchange Online และเรียกใช้คำสั่งจาก Exchange Online PowerShell
2. ค้นหา URL เซิร์ฟเวอร์ระยะไกลปลายทางการย้ายข้อมูล
รับ URL เซิร์ฟเวอร์ระยะไกลโดยใช้ cmdlet รับ-MigrationEndpoint อ่านเพิ่มเติมเกี่ยวกับวิธีการค้นหา RemoteHostName URL สำหรับการย้ายกล่องจดหมาย ตัวช่วยสร้างการกำหนดค่าไฮบริดสลีสร้างจุดสิ้นสุดการโยกย้ายนี้
Get-MigrationEndpoint | Format-List Identity, RemoteServerผลลัพธ์ด้านล่างนี้จะปรากฏขึ้น คัดลอกค่า RemoteServer URL ตามที่คุณต้องการในส่วนถัดไป
Identity : Hybrid Migration Endpoint - EWS (Default Web Site)
RemoteServer : mail.exoip.com3. ย้ายกล่องจดหมายไปยัง Exchange Online ด้วย PowerShell
สร้างคำขอย้ายใหม่เพื่อย้ายกล่องจดหมายหลักและกล่องจดหมายเก็บถาวรไปยัง Exchange Online กรอกรายละเอียดดังต่อไปนี้:
- -ข้อมูลประจำตัว: ชื่อกล่องจดหมายหรือที่อยู่อีเมล
- -RemoteHostName: เซิร์ฟเวอร์ระยะไกลที่คุณคัดลอกไว้ในขั้นตอนก่อนหน้า
- -TargetDeliveryDomain: โดเมน SMTP หลักที่ใช้สำหรับกล่องจดหมายขององค์กร Exchange Online
- -RemoteCredential: บัญชีผู้ดูแลระบบภายในองค์กรที่มีสิทธิ์
หลังจากรันคำสั่งแล้ว คำขอลงชื่อเข้าใช้ข้อมูลประจำตัวจะปรากฏขึ้น กรอกรหัสผ่านของข้อมูลประจำตัวภายในองค์กร (RemoteCredential)
New-MoveRequest -Identity "Maisha.Lee@exoip.com" -Remote -RemoteHostName "mail.exoip.com" -TargetDeliveryDomain "exoip365.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)4. ย้ายกล่องจดหมายหลายกล่องไปยัง Exchange Online ด้วย PowerShell
สร้างไฟล์ CSV ชื่อ Users.csv และวางไว้ในไดเรกทอรี C:\migration
เปิดไฟล์ CSV ตั้งชื่อคอลัมน์ส่วนหัวเป็น ที่อยู่อีเมล และกรอกกล่องจดหมายทั้งหมดที่คุณต้องการย้ายไปยัง Exchange Online
คัดลอกสคริปต์ด้านล่างและเปลี่ยน 3 บรรทัดแรก หลังจากนั้นให้รันสคริปต์
$Mailboxes = Import-Csv "C:\Migration\Users.csv"
$RemoteHostName = "mail.exoip.com"
$TargetDeliveryDomain = "exoip365.mail.onmicrosoft.com"
$OnPremCred = (Get-Credential)
# Move mailboxes in CSV file to Exchange Online
foreach ($Mailbox in $Mailboxes) {
$params = @{
Identity = $mailbox.EmailAddress
Remote = $true
RemoteHostName = $RemoteHostName
TargetDeliveryDomain = $TargetDeliveryDomain
RemoteCredential = $OnPremCred
}
New-MoveRequest @params
}5. ย้ายกล่องจดหมายหลักไปยัง Exchange Online ด้วย PowerShell เท่านั้น
สมมติว่าตำแหน่งที่ตั้งกล่องจดหมายเก็บถาวรอยู่ใน Exchange Online และตำแหน่งที่ตั้งกล่องจดหมายหลักอยู่ใน Exchange ภายในองค์กร เมื่อคุณเรียกใช้คำสั่งข้างต้น คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
คุณต้องระบุพารามิเตอร์ PrimaryOnly
ผู้ใช้เป้าหมาย 'Maisha Lee' มีกล่องจดหมายเก็บถาวรอยู่แล้ว
นี่คือลักษณะที่ปรากฏในคอนโซล PowerShell:
PS C:\> New-MoveRequest -Identity "Maisha.Lee@exoip.com" -Remote -RemoteHostName "mail.exoip.com" -TargetDeliveryDomain "exoip365.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)
You must specify the PrimaryOnly parameter.
Target user 'Maisha Lee' already has an archive mailbox.
+ CategoryInfo : NotSpecified: (:) [New-MoveRequest], MailboxReplicationPermanentException
+ FullyQualifiedErrorId : [Server=PAXP190MB1743,RequestId=3f8179c3-aa93-453f-9e14-d824968f34c4,TimeStamp=5/28/2022
7:19:13 AM] [FailureCategory=Cmdlet-MailboxReplicationPermanentException] FE8B9422,Microsoft.Exchange.Management.
Migration.MailboxReplication.MoveRequest.NewModernMoveRequest
+ PSComputerName : outlook.office365.comคุณต้องเพิ่มพารามิเตอร์ -PrimaryOnly ให้กับคำสั่ง
สร้างคำขอย้ายใหม่เพื่อย้ายกล่องจดหมายหลักไปยัง Exchange Online เท่านั้น กรอกรายละเอียดดังต่อไปนี้:
- -ข้อมูลประจำตัว: ชื่อกล่องจดหมายหรือที่อยู่อีเมล
- -RemoteHostName: เซิร์ฟเวอร์ระยะไกลที่คุณคัดลอกไว้ในขั้นตอนก่อนหน้า
- -PrimaryOnly: คงค่าว่างไว้
- -TargetDeliveryDomain: โดเมน SMTP หลักที่ใช้สำหรับกล่องจดหมายขององค์กร Exchange Online
- -RemoteCredential: บัญชีผู้ดูแลระบบภายในองค์กรที่มีสิทธิ์
หลังจากรันคำสั่งแล้ว คำขอลงชื่อเข้าใช้ข้อมูลประจำตัวจะปรากฏขึ้น กรอกรหัสผ่านของข้อมูลประจำตัวภายในองค์กร (RemoteCredential)
New-MoveRequest -Identity "Maisha.Lee@exoip.com" -Remote -RemoteHostName "mail.exoip.com" -PrimaryOnly -TargetDeliveryDomain "exoip365.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)6. ย้ายกล่องจดหมายเก็บถาวรไปยัง Exchange Online ด้วย PowerShell เท่านั้น
คุณต้องเพิ่มพารามิเตอร์ -ArchiveOnly ให้กับคำสั่ง
สร้างคำขอย้ายใหม่เพื่อย้ายกล่องจดหมายเก็บถาวรไปยัง Exchange Online เท่านั้น กรอกรายละเอียดดังต่อไปนี้:
- -ข้อมูลประจำตัว: ชื่อกล่องจดหมายหรือที่อยู่อีเมล
- -RemoteHostName: เซิร์ฟเวอร์ระยะไกลที่คุณคัดลอกไว้ในขั้นตอนก่อนหน้า
- -ArchiveOnly: คงค่าว่างไว้
- -TargetDeliveryDomain: โดเมน SMTP หลักที่ใช้สำหรับกล่องจดหมายขององค์กร Exchange Online
- -RemoteCredential: บัญชีผู้ดูแลระบบภายในองค์กรที่มีสิทธิ์
หลังจากรันคำสั่งแล้ว คำขอลงชื่อเข้าใช้ข้อมูลประจำตัวจะปรากฏขึ้น กรอกรหัสผ่านของข้อมูลประจำตัวภายในองค์กร (RemoteCredential)
New-MoveRequest -Identity "Maisha.Lee@exoip.com" -Remote -RemoteHostName "mail.exoip.com" -ArchiveOnly -TargetDeliveryDomain "exoip365.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)7. รับสถานะการย้ายกล่องจดหมาย
รับสถานะของคำขอย้ายกล่องจดหมายโดยใช้ cmdlet Get-MoveRequest
Get-MoveRequest -Identity "Maisha.Lee@exoip.com" | Get-MoveRequestStatisticsเรียกใช้คำสั่งด้านล่างเพื่อรับคำขอย้ายกล่องจดหมายทั้งหมด
Get-MoveRequest | Get-MoveRequestStatisticsผลลัพธ์จะแสดงสถานะการย้ายเมลบ็อกซ์และแสดงสถานะเสร็จสมบูรณ์
DisplayName StatusDetail TotalMailboxSize TotalArchiveSize PercentComplete
----------- ------------ ---------------- ---------------- ---------------
Maisha Lee Completed 32.11 MB (33,670,771 bytes) 0 B (0 bytes) 100หากไม่เป็นเช่นนั้นและคุณไม่สามารถดำเนินการคำขอย้ายกล่องจดหมายได้ คุณสามารถระงับและดำเนินการคำขอย้ายต่อได้ ช่วยได้ในสถานการณ์ส่วนใหญ่เมื่อคุณได้รับสถานะล้มเหลว ตัวอย่างเช่น รายละเอียดสถานะ TransientFailure
บทความนี้ช่วยคุณในการโยกย้ายกล่องจดหมายไปยัง Exchange Online ด้วย PowerShell หรือไม่ ฉันหวังว่ามันจะเป็นเช่นนั้น
อ่านเพิ่มเติม: ทำชุดการโยกย้ายให้เสร็จสมบูรณ์ด้วย PowerShell »
บทสรุป
คุณได้เรียนรู้วิธีการย้ายกล่องจดหมายไปยัง Exchange Online ด้วย PowerShell เชื่อมต่อกับ Exchange Online PowerShell และเรียกใช้คำสั่งตามที่แสดงในบทความ อย่าลืมตรวจสอบกล่องจดหมายที่ย้ายไปยัง Exchange Online จนกว่าจะเสร็จสมบูรณ์
คุณสนุกกับบทความนี้หรือไม่? คุณอาจต้องการกล่องจดหมายเป้าหมายไม่มีการจับคู่พร็อกซี SMTP อย่าลืมติดตามเราและแบ่งปันบทความนี้
