ไม่ว่าคุณจะลบกล่องจดหมายของบุคคลใน Exchange โดยไม่ได้ตั้งใจ คุณก็กู้คืนได้โดยใช้ PowerShell (PoSh) กุญแจสำคัญคือทำทันทีที่คุณรู้ว่ากล่องจดหมายถูกลบไปแล้ว
เป็นช่วงเวลาที่หัวใจเต้นแรงเมื่อรู้ว่าเราทำสิ่งนี้โดยไม่ได้ตั้งใจ หากคุณลบข้อความอีเมลเพียงไม่กี่ข้อความ เราสามารถแสดงวิธีกู้คืนอีเมลที่ถูกลบใน Office 365 ได้เช่นกัน
ก่อนที่เราจะเริ่มต้น โปรดทราบว่านี่มีไว้สำหรับการกู้คืนกล่องจดหมายที่ถูกลบใน Exchange Online สำหรับสภาพแวดล้อมของ Office 365 และ Exchange 2010 . เรายังถือว่าคุณมีสิทธิ์ของผู้ดูแลระบบในการใช้วิธีการที่อธิบายไว้และได้ดำเนินการเขียนสคริปต์ PowerShell ขั้นพื้นฐานแล้ว
จะเกิดอะไรขึ้นเมื่อกล่องจดหมายถูกลบ
กล่องจดหมายถูกย้ายไปที่ Azure Active Directory (AD) ถังรีไซเคิลใน Exchange Online หรือ กล่องจดหมายที่ถูกตัดการเชื่อมต่อ ไดเรกทอรีใน Exchange 2010
อาจนั่งอยู่ที่นั่นนานถึง 30 วันขึ้นอยู่กับนโยบายการเก็บรักษาที่มีอยู่ นั่นทำให้เรามีช่วงเวลาผ่อนผันที่จะรับรู้ความผิดพลาดของเราและกู้คืนจากมัน
กู้คืนกล่องจดหมายที่ถูกลบใน Exchange Online
เชื่อมต่อเพื่อแลกเปลี่ยนออนไลน์ผ่าน PowerShell
ในเซสชันภายในเครื่องของคุณ ให้เปิดคอนโซล Powershell และใช้คำสั่งต่อไปนี้เพื่อตั้งค่าข้อมูลรับรองการเข้าสู่ระบบของคุณให้เป็นตัวแปร
$userCredential
ทำให้ทำงานกับสคริปต์อื่นได้ง่ายขึ้นในภายหลัง
$userCredential = get-Credential
หน้าต่างจะเปิดขึ้นเพื่อให้คุณป้อนชื่อผู้ใช้และรหัสผ่านสำหรับจัดการ Exchange Online
ถัดไป กำหนดระดับนโยบายการดำเนินการเพื่อให้เราสามารถทำสิ่งต่างๆ ได้จริงในเซสชันของเรา ซึ่งช่วยให้เราสามารถรันคำสั่งที่ไม่ได้ลงนามได้ แต่คุณอาจต้องการเรียนรู้แนวทางปฏิบัติที่ดีที่สุดสำหรับการลงนามสคริปต์ PowerShell ด้วย
set-ExecutionPolicy Unrestricted
เมื่อได้รับแจ้ง ให้กด Y เพื่อใช่
ตอนนี้เราจะสร้างตัวแปร $session เพื่อใช้เปิดการเชื่อมต่อระหว่างเครื่องคอมพิวเตอร์กับ Exchange Online
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $userCredential -Authentication Basic -AllowRedirection
Powershell-liveid คือรหัสของไซต์ Office ของคุณ โดยปกตินี่คือรูปแบบบางส่วนของชื่อบริษัทของคุณ
ใช้คำสั่งต่อไปนี้เพื่อเปิดเซสชัน PoSh บน Exchange Online:
import-PSSession $Session -DisableNameChecking
ตอนนี้ เรากำลังทำงานกับ PowerShell โดยตรงใน Exchange Online แม้ว่าเราจะนั่งอยู่ที่คอมพิวเตอร์ของเราก็ตาม
กู้คืนกล่องจดหมายที่ถูกลบด้วย PowerShell
ส่วนต่อไปนั้นง่ายมาก การเชื่อมต่อจะทำให้เราใช้เวลานานขึ้น
สิ่งที่เราต้องทำคือเรียกใช้ cmdlet ที่แสดงด้านล่าง:
undo-SoftDeletedMailbox [email protected] -WindowsLiveID [email protected] -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)
เปลี่ยนทั้งสองอินสแตนซ์ของ [email protected] ไปยังชื่อกล่องจดหมายที่เหมาะสมและ Windows LiveID ของกล่องจดหมายที่เราต้องการกู้คืน โปรดทราบว่าพวกเขาอาจไม่เหมือนกัน
เรายังต้องตั้งรหัสผ่านใหม่สำหรับกล่องจดหมาย เปลี่ยน รหัสผ่านใหม่ ในสคริปต์ไปยังรหัสผ่านที่คุณเลือก คุณจะต้องส่งต่อให้ผู้ใช้ทราบและขอให้เปลี่ยนรหัสผ่านในครั้งถัดไปที่เข้าสู่ระบบ
สุดท้าย ใช้ cmdlet ถัดไปเพื่อตรวจสอบให้แน่ใจว่าใช้งานได้
get-Mailbox [email protected]
ถ้ามีการคืนค่า cmdlet จะส่งคืนข้อมูลเกี่ยวกับกล่องจดหมายที่กู้คืน หากส่งคืนข้อผิดพลาด ให้ดำเนินการตามคำสั่งอีกครั้งและตรวจสอบว่าใช้กล่องจดหมายและ Windows LiveID ที่ถูกต้อง
หากยังคงใช้งานไม่ได้ เราจะต้องกู้คืนเมลบ็อกซ์จากข้อมูลสำรองของระบบ มีการสำรองข้อมูลระบบหลายประเภท ซึ่งอยู่นอกเหนือขอบเขตของสิ่งที่เรากำลังทำอยู่ในปัจจุบัน
เมื่อเสร็จแล้ว เราต้องปิดเซสชัน PoSh จำนวนเซสชัน PoSh ที่เราดำเนินการมีจำกัด การเปิดทิ้งไว้จะใช้หนึ่งในเซสชันเหล่านั้น เว้นแต่เราจะปิด เราจะต้องรอให้เซสชันหมดเวลาก่อนจึงจะเริ่มเซสชันใหม่ได้
remove-PSSession $Session
แค่นั้นแหละ. คุณอาจต้องการเขียนสคริปต์ลงในโมดูล PowerShell เพื่อให้ง่ายต่อการใช้งานหากเกิดขึ้นอีก
กู้คืนกล่องจดหมายที่ถูกลบใน Exchange 2010
ใช้ไม่ได้กับ Office 365 หรือสภาพแวดล้อมแบบไฮบริด ใช้งานได้กับ Exchange 2010 ภายในองค์กรเท่านั้น
บนเซิร์ฟเวอร์อีเมล เปิด คอนโซลการจัดการ Exchange (อีเอ็มซี).
นำทางไปยัง การกำหนดค่าผู้รับ > กล่องจดหมายที่ถูกตัดการเชื่อมต่อ . เราควรเห็นกล่องจดหมายของผู้ใช้ที่นั่น
ถ้าเราไม่ทำเช่นนั้น แสดงว่ากระบวนการล้างฐานข้อมูลกล่องจดหมายยังไม่เกิดขึ้น ไม่เป็นไร เราบังคับได้
- เปิด เชลล์การจัดการการแลกเปลี่ยน (EMS) ในฐานะผู้ดูแลระบบ นี่คือที่ที่เราทำงาน PowerShell เฉพาะ Exchange ได้
- ตอนนี้เราเข้าสู่ cmdlet:
Get-MailboxDatabase | Clean-MailboxDatabase
- เมื่อเสร็จแล้ว ให้กลับไปที่ EMC และคลิกขวาที่ กล่องจดหมายที่ถูกตัดการเชื่อมต่อ จากนั้นคลิกที่ รีเฟรช .
- เราควรจะเห็นเมลบ็อกซ์อยู่ที่นั่นตอนนี้ และมันพร้อมกับอีกกล่องหนึ่งที่ถูกลบไปเมื่อเร็วๆ นี้
- กลับไปที่ EMS และป้อน cmdlet:
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
- ชื่อผู้ใช้ คือชื่อบัญชี Windows ของบุคคลนั้น (เช่น ทดสอบผู้ใช้ ), และ ฐานข้อมูลกล่องจดหมาย เป็นชื่อของฐานข้อมูลที่แสดงข้างชื่อใน กล่องจดหมายที่ไม่ได้เชื่อมต่อ หน้าต่างใน EMC
- รีเฟรช กล่องจดหมายที่ถูกตัดการเชื่อมต่อ และคุณจะเห็นว่ากล่องจดหมายของพวกเขาไม่แสดงอยู่ที่นั่นอีกต่อไป นำทางไปยัง การกำหนดค่าผู้รับ > กล่องจดหมาย และตรวจสอบว่ามีกล่องจดหมายของผู้ใช้อยู่ที่นั่น
ตรวจสอบเพื่อให้แน่ใจว่าการตั้งค่าทั้งหมดถูกต้อง เช่น ที่อยู่อีเมลและนามแฝง หากดูดี ครั้งต่อไปที่ผู้ใช้เปิด Outlook ทุกอย่างจะเหมือนเดิม
กู้คืนกล่องจดหมายแล้ว
นั่นคือวิธีใช้ PowerShell เพื่อกู้คืนกล่องจดหมายใน Exchange Online และ Exchange 2010 หากคุณมีสภาพแวดล้อมแบบไฮบริด อาจซับซ้อนกว่าเล็กน้อย แต่สามารถทำได้
เพียงแค่รู้ว่ามี cmdlet ที่แตกต่างกันเหล่านี้ ทำให้คุณอยู่ในตำแหน่งที่ดีในการทำงานกับ Exchange ไม่ว่าเวอร์ชันหรือการกำหนดค่าใด