Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> ซอฟต์แวร์

วิธีคืนค่ากล่องจดหมายที่ถูกลบด้วย PowerShell

ไม่ว่าคุณจะลบกล่องจดหมายของบุคคลใน Exchange โดยไม่ได้ตั้งใจ คุณก็กู้คืนได้โดยใช้ PowerShell (PoSh) กุญแจสำคัญคือทำทันทีที่คุณรู้ว่ากล่องจดหมายถูกลบไปแล้ว

เป็นช่วงเวลาที่หัวใจเต้นแรงเมื่อรู้ว่าเราทำสิ่งนี้โดยไม่ได้ตั้งใจ หากคุณลบข้อความอีเมลเพียงไม่กี่ข้อความ เราสามารถแสดงวิธีกู้คืนอีเมลที่ถูกลบใน Office 365 ได้เช่นกัน

    วิธีคืนค่ากล่องจดหมายที่ถูกลบด้วย PowerShell

    ก่อนที่เราจะเริ่มต้น โปรดทราบว่านี่มีไว้สำหรับการกู้คืนกล่องจดหมายที่ถูกลบใน Exchange Online สำหรับสภาพแวดล้อมของ Office 365 และ Exchange 2010 . เรายังถือว่าคุณมีสิทธิ์ของผู้ดูแลระบบในการใช้วิธีการที่อธิบายไว้และได้ดำเนินการเขียนสคริปต์ PowerShell ขั้นพื้นฐานแล้ว

    จะเกิดอะไรขึ้นเมื่อกล่องจดหมายถูกลบ

    กล่องจดหมายถูกย้ายไปที่ Azure Active Directory (AD) ถังรีไซเคิลใน Exchange Online หรือ กล่องจดหมายที่ถูกตัดการเชื่อมต่อ ไดเรกทอรีใน Exchange 2010

    อาจนั่งอยู่ที่นั่นนานถึง 30 วันขึ้นอยู่กับนโยบายการเก็บรักษาที่มีอยู่ นั่นทำให้เรามีช่วงเวลาผ่อนผันที่จะรับรู้ความผิดพลาดของเราและกู้คืนจากมัน

    กู้คืนกล่องจดหมายที่ถูกลบใน Exchange Online

    วิธีคืนค่ากล่องจดหมายที่ถูกลบด้วย PowerShell

    เชื่อมต่อเพื่อแลกเปลี่ยนออนไลน์ผ่าน PowerShell

    ในเซสชันภายในเครื่องของคุณ ให้เปิดคอนโซล Powershell และใช้คำสั่งต่อไปนี้เพื่อตั้งค่าข้อมูลรับรองการเข้าสู่ระบบของคุณให้เป็นตัวแปร

    $userCredential

    ทำให้ทำงานกับสคริปต์อื่นได้ง่ายขึ้นในภายหลัง

    $userCredential = get-Credential

    หน้าต่างจะเปิดขึ้นเพื่อให้คุณป้อนชื่อผู้ใช้และรหัสผ่านสำหรับจัดการ Exchange Online

    วิธีคืนค่ากล่องจดหมายที่ถูกลบด้วย PowerShell

    ถัดไป กำหนดระดับนโยบายการดำเนินการเพื่อให้เราสามารถทำสิ่งต่างๆ ได้จริงในเซสชันของเรา ซึ่งช่วยให้เราสามารถรันคำสั่งที่ไม่ได้ลงนามได้ แต่คุณอาจต้องการเรียนรู้แนวทางปฏิบัติที่ดีที่สุดสำหรับการลงนามสคริปต์ 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 user@mycompany.com -WindowsLiveID user@mycompany.com -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)

    เปลี่ยนทั้งสองอินสแตนซ์ของ user@mycompany.com ไปยังชื่อกล่องจดหมายที่เหมาะสมและ Windows LiveID ของกล่องจดหมายที่เราต้องการกู้คืน โปรดทราบว่าพวกเขาอาจไม่เหมือนกัน

    เรายังต้องตั้งรหัสผ่านใหม่สำหรับกล่องจดหมาย เปลี่ยน รหัสผ่านใหม่ ในสคริปต์ไปยังรหัสผ่านที่คุณเลือก คุณจะต้องส่งต่อให้ผู้ใช้ทราบและขอให้เปลี่ยนรหัสผ่านในครั้งถัดไปที่เข้าสู่ระบบ

    สุดท้าย ใช้ cmdlet ถัดไปเพื่อตรวจสอบให้แน่ใจว่าใช้งานได้

    get-Mailbox user@mycompany.com

    ถ้ามีการคืนค่า cmdlet จะส่งคืนข้อมูลเกี่ยวกับกล่องจดหมายที่กู้คืน หากส่งคืนข้อผิดพลาด ให้ดำเนินการตามคำสั่งอีกครั้งและตรวจสอบว่าใช้กล่องจดหมายและ Windows LiveID ที่ถูกต้อง

    หากยังคงใช้งานไม่ได้ เราจะต้องกู้คืนเมลบ็อกซ์จากข้อมูลสำรองของระบบ มีการสำรองข้อมูลระบบหลายประเภท ซึ่งอยู่นอกเหนือขอบเขตของสิ่งที่เรากำลังทำอยู่ในปัจจุบัน

    เมื่อเสร็จแล้ว เราต้องปิดเซสชัน PoSh จำนวนเซสชัน PoSh ที่เราดำเนินการมีจำกัด การเปิดทิ้งไว้จะใช้หนึ่งในเซสชันเหล่านั้น เว้นแต่เราจะปิด เราจะต้องรอให้เซสชันหมดเวลาก่อนจึงจะเริ่มเซสชันใหม่ได้

    remove-PSSession $Session

    แค่นั้นแหละ. คุณอาจต้องการเขียนสคริปต์ลงในโมดูล PowerShell เพื่อให้ง่ายต่อการใช้งานหากเกิดขึ้นอีก

    กู้คืนกล่องจดหมายที่ถูกลบใน Exchange 2010

    ใช้ไม่ได้กับ Office 365 หรือสภาพแวดล้อมแบบไฮบริด ใช้งานได้กับ Exchange 2010 ภายในองค์กรเท่านั้น

    บนเซิร์ฟเวอร์อีเมล เปิด คอนโซลการจัดการ Exchange (อีเอ็มซี).

    นำทางไปยัง การกำหนดค่าผู้รับ > กล่องจดหมายที่ถูกตัดการเชื่อมต่อ . เราควรเห็นกล่องจดหมายของผู้ใช้ที่นั่น

    วิธีคืนค่ากล่องจดหมายที่ถูกลบด้วย PowerShell

    ถ้าเราไม่ทำเช่นนั้น แสดงว่ากระบวนการล้างฐานข้อมูลกล่องจดหมายยังไม่เกิดขึ้น ไม่เป็นไร เราบังคับได้

    • เปิด เชลล์การจัดการการแลกเปลี่ยน (EMS) ในฐานะผู้ดูแลระบบ นี่คือที่ที่เราทำงาน PowerShell เฉพาะ Exchange ได้
    • ตอนนี้เราเข้าสู่ cmdlet:
    Get-MailboxDatabase | Clean-MailboxDatabase
    วิธีคืนค่ากล่องจดหมายที่ถูกลบด้วย PowerShell
    • เมื่อเสร็จแล้ว ให้กลับไปที่ EMC และคลิกขวาที่ กล่องจดหมายที่ถูกตัดการเชื่อมต่อ จากนั้นคลิกที่ รีเฟรช .
    • เราควรจะเห็นเมลบ็อกซ์อยู่ที่นั่นตอนนี้ และมันพร้อมกับอีกกล่องหนึ่งที่ถูกลบไปเมื่อเร็วๆ นี้
    วิธีคืนค่ากล่องจดหมายที่ถูกลบด้วย PowerShell
    • กลับไปที่ EMS และป้อน cmdlet:
    Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
    • ชื่อผู้ใช้ คือชื่อบัญชี Windows ของบุคคลนั้น (เช่น ทดสอบผู้ใช้ ), และ ฐานข้อมูลกล่องจดหมาย เป็นชื่อของฐานข้อมูลที่แสดงข้างชื่อใน กล่องจดหมายที่ไม่ได้เชื่อมต่อ หน้าต่างใน EMC
    • รีเฟรช กล่องจดหมายที่ถูกตัดการเชื่อมต่อ และคุณจะเห็นว่ากล่องจดหมายของพวกเขาไม่แสดงอยู่ที่นั่นอีกต่อไป นำทางไปยัง การกำหนดค่าผู้รับ > กล่องจดหมาย และตรวจสอบว่ามีกล่องจดหมายของผู้ใช้อยู่ที่นั่น
    วิธีคืนค่ากล่องจดหมายที่ถูกลบด้วย PowerShell

    ตรวจสอบเพื่อให้แน่ใจว่าการตั้งค่าทั้งหมดถูกต้อง เช่น ที่อยู่อีเมลและนามแฝง หากดูดี ครั้งต่อไปที่ผู้ใช้เปิด Outlook ทุกอย่างจะเหมือนเดิม

    กู้คืนกล่องจดหมายแล้ว

    นั่นคือวิธีใช้ PowerShell เพื่อกู้คืนกล่องจดหมายใน Exchange Online และ Exchange 2010 หากคุณมีสภาพแวดล้อมแบบไฮบริด อาจซับซ้อนกว่าเล็กน้อย แต่สามารถทำได้

    เพียงแค่รู้ว่ามี cmdlet ที่แตกต่างกันเหล่านี้ ทำให้คุณอยู่ในตำแหน่งที่ดีในการทำงานกับ Exchange ไม่ว่าเวอร์ชันหรือการกำหนดค่าใด