ค้นหาเว็บไซต์

ย้ายกล่องจดหมายไปยัง 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.com

3. ย้ายกล่องจดหมายไปยัง 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 อย่าลืมติดตามเราและแบ่งปันบทความนี้

บทความที่เกี่ยวข้อง