Exchange-এ কেননা হোক কেউ মেইলবক্স অকস্মাতে ডিলিট করলে PowerShell (PoSh) দিয়ে রিস্টোর করা সম্ভব। চাবিকাঠি: মেইলবক্স ডিলিট হওয়া বুঝতেই যত দ্রুত সম্ভব কোয়েক করুন।
কয়েকটি ইমেইল মেসেজ ডিলিট হলে Office 365-এ ডিলিটড ইমেইল রিকভারির গাইড দেখুন।
নোট: এটি Exchange Online (Office 365) এবং Exchange 2010-এর জন্য। আপনার অ্যাডমিনিস্ট্রেটিভ রাইটস এবং বেসিক PowerShell স্ক্রিপ্টিং নলেজ থাকা অনুমান করা হয়েছে।
মেইলবক্স ডিলিট হলে কী হয়?
মেইলবক্স যাবে: Exchange Online-এ Azure Active Directory (AD) Recycle Bin-এ, অথবা Exchange 2010-এ Disconnected Mailboxes ডিরেক্টরিতে। রিটেনশন পলিসি অনুযায়ী ৩০ দিন পর্যন্ত থাকতে পারে—ভুল বুঝতে এবং রিকভারি করার গ্রেস পিরিয়ড।
Exchange Online-এ ডিলিটড মেইলবক্স রিস্টোর
PowerShell দিয়ে Exchange Online-এ কানেক্ট
- লোকাল সেশনে PowerShell কনসোল খুলুন, লগইন ক্রেডেনশিয়াল ভেরিয়েবলে স্টোর করুন:
$userCredential = Get-Credential
উইন্ডো খুলবে—Exchange Online ম্যানেজ করার ইউজারনেম/পাসওয়ার্ড দিন।
- এক্সিকিউশন পলিসি সেট করুন (আনসাইনড কমান্ড রান করার জন্য):
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 সাইটের ID (কোম্পানি নামের ভেরিয়েশন)।
- Exchange Online-এ PoSh সেশন খুলুন:
Import-PSSession $Session -DisableNameChecking
এখন আপনি নিজের কম্পিউটারে বসে Exchange Online-এ PowerShell দিয়ে কাজ করছেন।
PowerShell দিয়ে ডিলিটড মেইলবক্স রিস্টোর
কানেকশন বানানো ছিল কঠিন পার্ট—রিস্টোর অনেক সহজ।
- নিচের কমান্ডলেট রান করুন:
Undo-SoftDeletedMailbox user@mycompany.com -WindowsLiveID user@mycompany.com -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)
- দুইটি
user@mycompany.comকে লক্ষ্য মেইলবক্সের নাম এবং Windows LiveID দিয়ে রিপ্লেস করুন (তাদের একই নাও হতে পারে)। newpasswordকে নতুন পাসওয়ার্ড দিয়ে রিপ্লেস করুন। ইউজারকে বলুন পরবর্তী লগইনে পাসওয়ার্ড পরিবর্তন করতে।
- সফল হয়েছে কিনা চেক করুন:
Get-Mailbox user@mycompany.com
রিস্টোর হলে মেইলবক্সের ইনফো রিটার্ন করবে। এরর দিলে কমান্ডগুলো রিভিউ করুন। কাজ না হলে সিস্টেম ব্যাকআপ থেকে রিস্টোর করতে হবে (স্কোপ বাইরে)।
- PoSh সেশন বন্ধ করুন (সেশন লিমিটড, ওপেন রাখলে নতুন সেশন শুরু করতে টাইমআউট 기다려야 হবে):
Remove-PSSession $Session
এই স্ক্রিপ্টটি PowerShell Module-এ কনভার্ট করে রাখলে ভবিষ্যতে সহজ হবে।
Exchange 2010-এ ডিলিটড মেইলবক্স রিস্টোর
Office 365 বা হাইব্রিড এনভায়রনমেন্টের জন্য নয়—শুধু On-premises Exchange 2010।
- মেইল সার্ভারে Exchange Management Console (EMC) খুলুন।
- Recipient Configuration → Disconnected Mailbox এ যান। ইউজারের মেইলবক্স থাকা উচিত।
- না থাকলে মেইলবক্স ডাটাবেস ক্লিনিং প্রসেস হয়নি। ফোর্স করুন: Exchange Management Shell (EMS) অ্যাডমিন হিসেবে খুলুন, কমান্ড:
Get-MailboxDatabase | Clean-MailboxDatabase
- EMC-এ ফিরে Disconnected Mailbox রাইট-ক্লিক → Refresh। মেইলবক্স দেখাবে।
- EMS-এ কমান্ড:
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
- Username = উইন্ডোজ একাউন্ট নাম (যেমন Test User), Mailbox Database = EMC-এ Disconnected Mailbox উইন্ডোতে নামের পাশে লিস্ট করা ডাটাবেস নাম।
- Disconnected Mailbox রিফ্রেশ করুন—মেইলবক্স আর দেখাবে না। Recipient Configuration > Mailbox এ যেন ইউজারের মেইলবক্স আছে।
- সেটিংস চেক করুন (ইমেইল অ্যাড্রেস, এলিয়াস)। ঠিক থাকলে পরবর্তী আউटलুক ওপেনে সবকিছু আগের মত থাকবে।
মেইলবক্স রিস্টোর্ড
এইভাবে PowerShell দিয়ে Exchange Online এবং Exchange 2010-এ মেইলবক্স রিস্টোর করা যায়। হাইব্রিড এনভায়রনমেন্টে কিছুটা জটিল কিন্তু সম্ভব। এই কমান্ডলেটগুলো জানা থাকলে এক্সচেঞ্জের যেকোনো ভার্সন/কনফিগারেশনে কাজ করা সহজ।