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

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

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

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

จะเกิดอะไรขึ้นเมื่อกล่องจดหมายถูกลบ?(What Happens When a Mailbox Is Deleted?)

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

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

กู้คืนกล่องจดหมายที่ถูกลบในการแลกเปลี่ยนแบบออนไลน์(Restore a Deleted Mailbox In Exchange Online)

เชื่อมต่อเพื่อแลกเปลี่ยนออนไลน์ผ่าน PowerShell(Connect To Exchange Online Via PowerShell)

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

$userCredential

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

$userCredential = get-Credential

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

ถัดไป กำหนดระดับนโยบายการดำเนินการเพื่อให้เราสามารถทำสิ่งต่างๆ ได้จริงในเซสชันของเรา ซึ่งช่วยให้เราสามารถรันคำสั่งที่ไม่ได้ลงนามได้ แต่คุณอาจต้องการเรียนรู้แนวทางปฏิบัติที่ดีที่สุดสำหรับการลงนามสคริปต์ PowerShell(best practices for signing PowerShell scripts)ด้วย

set-ExecutionPolicy Unrestricted

เมื่อได้รับแจ้ง ให้กดYเพื่อ Yes

ตอนนี้เราจะสร้างตัวแปร$sessionเพื่อใช้เพื่อเปิดการเชื่อมต่อระหว่างเครื่องคอมพิวเตอร์และExchange Online(Exchange Online)

$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $userCredential -Authentication Basic -AllowRedirection

Powershell-liveidคือรหัสของไซต์Office ของคุณ (Office)โดยปกตินี่คือรูปแบบบางส่วนของชื่อบริษัทของคุณ 

ใช้คำสั่งต่อไปนี้เพื่อเปิด เซสชัน PoShบนExchange Online :

import-PSSession $Session -DisableNameChecking

ตอนนี้ เรากำลังทำงานกับPowerShellโดยตรงในExchange Onlineแม้ว่าเราจะนั่งอยู่ที่คอมพิวเตอร์ของเราเองก็ตาม

กู้คืนกล่องจดหมายที่ถูกลบด้วย PowerShell(Restore a Deleted Mailbox With PowerShell)

ส่วนต่อไปนั้นง่ายมาก การเชื่อมต่อจะทำให้เราใช้เวลานานขึ้น 

สิ่งที่เราต้องทำคือเรียกใช้ cmdlet ที่แสดงด้านล่าง:

undo-SoftDeletedMailbox [email protected] -WindowsLiveID [email protected] -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)

เปลี่ยนทั้งสองอินสแตนซ์ของ[email protected]เป็นชื่อกล่องจดหมายที่เหมาะสมและWindows LiveIDของกล่องจดหมายที่เราต้องการกู้คืน โปรดทราบว่าพวกเขาอาจไม่เหมือนกัน 

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

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

get-Mailbox [email protected]

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

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

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

remove-PSSession $Session

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

กู้คืนกล่องจดหมายที่ถูกลบใน Exchange 2010(Restore a Deleted Mailbox In Exchange 2010)

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

บนเซิร์ฟเวอร์เมล เปิดExchange Management Console (EMC) 

ไปที่การกำหนดค่าผู้รับ(Recipient Configuration ) > กล่องจดหมาย ที่ถูกตัด การเชื่อมต่อ (Disconnected Mailbox)เราควรเห็นเมลบ็อกซ์ของผู้ใช้ตรงนั้น 

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

  • เปิดExchange Management Shell ( EMS ) ในฐานะผู้ดูแลระบบ นี่คือที่ที่เราสามารถทำงานได้PowerShell เฉพาะสำหรับ Exchange(Exchange-specific PowerShell)
  • ตอนนี้เราเข้าสู่ cmdlet: 
Get-MailboxDatabase | Clean-MailboxDatabase

  • เมื่อเสร็จแล้ว ให้กลับไปที่EMCและคลิกขวาที่Disconnected Mailboxจากนั้นคลิกที่  Refresh
  • เราควรจะเห็นเมลบ็อกซ์อยู่ที่นั่นตอนนี้ และมันพร้อมกับกล่องอื่นที่ถูกลบไปเมื่อเร็วๆ นี้

  • กลับไปที่EMSและป้อน cmdlet: 
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
  • ชื่อผู้ใช้(Username)คือ ชื่อบัญชี Windows ของบุคคล (เช่นTest User ) และ(,)ฐานข้อมูลกล่องจดหมาย(Mailbox Database)คือชื่อของฐานข้อมูลที่แสดงข้างชื่อของบุคคลนั้นใน หน้าต่าง กล่องจดหมายที่ถูกตัด(Disconnected Mailbox) การเชื่อมต่อ ใน EMC 
  • รีเฟรชกล่องจดหมายที่ถูกตัด(Disconnected Mailbox) การเชื่อมต่อ และคุณจะเห็นว่ากล่องจดหมายของพวกเขาไม่แสดงอยู่ที่นั่นอีกต่อไป ไปที่Recipient Configuration > Mailboxและตรวจสอบให้แน่ใจว่ามีกล่องจดหมายของผู้ใช้อยู่ที่นั่น

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

คืนค่ากล่องจดหมาย(Mailbox Restored)

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

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



About the author

ฉันเป็นนักพัฒนาเว็บที่มีประสบการณ์มากกว่า 10 ปีในการทำงานกับเบราว์เซอร์ Firefox และ Google Docs ฉันเป็นผู้เชี่ยวชาญในการสร้างแอปพลิเคชันออนไลน์ที่เรียบง่ายแต่ทรงพลัง และได้พัฒนาโซลูชันบนเว็บสำหรับทั้งธุรกิจขนาดเล็กและองค์กรขนาดใหญ่ ฐานลูกค้าของฉันประกอบด้วยชื่อที่ใหญ่ที่สุดในธุรกิจ เช่น FedEx, Coca Cola และ Macy's ทักษะของฉันในฐานะนักพัฒนาทำให้ฉันเป็นผู้สมัครในอุดมคติสำหรับโครงการใดๆ ที่จำเป็นต้องทำให้เสร็จอย่างรวดเร็วและมีประสิทธิภาพ - ตั้งแต่การพัฒนาเว็บไซต์ที่กำหนดเองไปจนถึงการสร้างแคมเปญการตลาดทางอีเมลที่มีประสิทธิภาพ



Related posts