कोई फर्क नहीं पड़ता कि आपने एक्सचेंज में किसी व्यक्ति का मेलबॉक्स गलती से कैसे डिलीट किया, आप शायद PowerShell (PoSh) का उपयोग करके इसे रिस्टोर कर सकते हैं। कुंजी यह है कि जैसे ही आपको पता चले कि मेलबॉक्स डिलीट हो गया है, इसे जल्द से जल्द करें।
यह दिल-दहला देने वाला क्षण होता है जब हमें एहसास होता है कि हमने गलती से ऐसा किया है। यदि आपने केवल कुछ ईमेल संदेश डिलीट किए हैं, तो हम आपको दिखा सकते हैं कि Office 365 में डिलीटेड ईमेल कैसे रिकवर करें।
शुरू करने से पहले, ध्यान दें कि यह Exchange Online के लिए Office 365 वातावरण और Exchange 2010 में डिलीटेड मेलबॉक्स को रिस्टोर करने के लिए है। हम यह भी मान रहे हैं कि आपके पास वर्णित विधियों का उपयोग करने के प्रशासनिक अधिकार हैं और आपने कुछ बुनियादी PowerShell स्क्रिप्टिंग की है।
जब एक मेलबॉक्स डिलीट होता है तो क्या होता है?
मेलबॉक्स या तो Azure Active Directory (AD) रीसायकल बिन में Exchange Online में या Disconnected Mailboxes डायरेक्टरी में Exchange 2010 में चला जाता है।
यह वहां रखी गई रिटेंशन नीतियों के आधार पर 30 दिनों तक रह सकता है। इससे हमें अपनी गलती को पहचानने और उससे उबरने के लिए एक ग्रेस पीरियड मिलता है।
Exchange Online में डिलीटेड मेलबॉक्स रिस्टोर करें
PowerShell के माध्यम से Exchange Online से कनेक्ट करें
अपने स्थानीय सत्र में, PowerShell कंसोल खोलें और लॉगिन क्रेडेंशियल को वेरिएबल में सेट करने के लिए निम्न कमांड का उपयोग करें।
$userCredential
यह बाद में अन्य स्क्रिप्ट के साथ काम करना आसान बनाता है।
$userCredential = get-Credential
एक विंडो खुलेगी जहां आप Exchange Online को प्रबंधित करने के लिए अपना उपयोगकर्ता नाम और पासवर्ड दर्ज कर सकते हैं।
अब, एक्ज़ीक्यूशन पॉलिसी लेवल सेट करें ताकि हम वास्तव में अपने सत्र में काम कर सकें। यह हमें हमारे अनसाइन्ड कमांड चलाने की अनुमति देता है। लेकिन आप PowerShell स्क्रिप्ट पर हस्ताक्षर करने की सर्वोत्तम प्रथाओं को भी सीखना चाह सकते हैं।
set-ExecutionPolicy Unrestricted
संकेत मिलने पर, Y दबाएं Yes के लिए।
अब हम $session वेरिएबल बनाएंगे जिसका उपयोग स्थानीय कंप्यूटर और Exchange Online के बीच कनेक्शन खोलने के लिए किया जाएगा।
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $userCredential -Authentication Basic -AllowRedirection
Powershell-liveid आपकी Office साइट की आईडी है। आमतौर पर यह आपकी कंपनी के नाम का कोई रूपांतर होता है।
Exchange Online पर PoSh सत्र खोलने के लिए निम्न कमांड का उपयोग करें:
import-PSSession $Session -DisableNameChecking
अब हम अपने कंप्यूटर पर बैठकर सीधे Exchange Online में PowerShell के साथ काम कर रहे हैं।
PowerShell से डिलीटेड मेलबॉक्स रिस्टोर करें
अगला भाग बेहद आसान है। कनेक्शन बनाने में हमें कहीं अधिक समय लगा।
हमें बस नीचे दिखाए गए cmdlet को चलाना है:
undo-SoftDeletedMailbox user@mycompany.com -WindowsLiveID user@mycompany.com -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)
user@mycompany.com के दोनों उदाहरणों को उस मेलबॉक्स के उपयुक्त मेलबॉक्स नाम और Windows LiveID में बदलें जिसे हम रिस्टोर करना चाहते हैं। ध्यान दें कि वे समान नहीं हो सकते।
हमें मेलबॉक्स के लिए एक नया पासवर्ड भी सेट करना होगा। स्क्रिप्ट में newpassword को अपनी पसंद के पासवर्ड में बदलें। आपको इसे उपयोगकर्ता को बताना होगा और उनसे अगली बार लॉग इन करते समय अपना पासवर्ड बदलने के लिए कहना होगा।
अंत में, यह सुनिश्चित करने के लिए कि यह काम किया, अगले cmdlet का उपयोग करें।
get-Mailbox user@mycompany.com
यदि यह रिस्टोर हो गया है, तो cmdlet रिस्टोर किए गए मेलबॉक्स के बारे में जानकारी लौटाएगा। यदि यह त्रुटि लौटाता है, तो कमांड को फिर से देखें और सुनिश्चित करें कि सही मेलबॉक्स और Windows LiveID का उपयोग किया जा रहा है।
यदि यह अभी भी काम नहीं करता है, तो हमें सिस्टम बैकअप से मेलबॉक्स रिस्टोर करना होगा। सिस्टम बैकअप के कई प्रकार हैं, इसलिए यह आज हम जो कर रहे हैं उसके दायरे से बाहर है।
जब हम काम पूरा कर लें, तो हमें PoSh सत्र बंद करना होगा। हमारे पास चल रहे PoSh सत्रों की संख्या सीमित है। इसे खुला छोड़ने से उन सत्रों में से एक का उपयोग होता है। जब तक हम इसे बंद नहीं करते, हमें दूसरे को शुरू करने से पहले सत्र के टाइम-आउट होने का इंतजार करना होगा।
remove-PSSession $Session
बस इतना ही। आप इसे आसानी के लिए PowerShell Module में स्क्रिप्ट करना भी चाह सकते हैं यदि यह फिर से होता है।
Exchange 2010 में डिलीटेड मेलबॉक्स रिस्टोर करें
यह Office 365 या हाइब्रिड वातावरण के लिए काम नहीं करता। यह केवल ऑन-प्रिमाइसेस Exchange 2010 के लिए काम करता है।
मेल सर्वर पर, Exchange Management Console (EMC) खोलें।
Recipient Configuration > Disconnected Mailbox पर नेविगेट करें। हमें वहां उपयोगकर्ता का मेलबॉक्स दिखाई देना चाहिए।
यदि हम नहीं देखते हैं, तो मेलबॉक्स डेटाबेस सफाई प्रक्रिया अभी तक नहीं हुई है। यह ठीक है, हम इसे बाध्य कर सकते हैं।
- Exchange Management Shell (EMS) को एडमिनिस्ट्रेटर के रूप में खोलें। यह वह जगह है जहां हम एक्सचेंज-विशिष्ट 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 EMC में Disconnected Mailbox विंडो में उनके नाम के बगल में सूचीबद्ध डेटाबेस का नाम है।
- Disconnected Mailbox रीफ्रेश करें और आपको देखना चाहिए कि उनका मेलबॉक्स अब वहां प्रदर्शित नहीं है। Recipient Configuration > Mailbox पर नेविगेट करें और सुनिश्चित करें कि उपयोगकर्ता का मेलबॉक्स वहां है।
यह जांचने के लिए कि सभी सेटिंग्स सही हैं, जैसे ईमेल पता और एलियास। यदि यह अच्छा लगता है, तो अगली बार जब उपयोगकर्ता अपना Outlook खोलेगा, तो सब कुछ वैसा ही होगा जैसा पहले था।
मेलबॉक्स रिस्टोर हो गया
यह है कि Exchange Online और Exchange 2010 में मेलबॉक्स रिस्टोर करने के लिए PowerShell का उपयोग कैसे करें। यदि आपके पास हाइब्रिड वातावरण है, तो यह थोड़ा अधिक जटिल है लेकिन किया जा सकता है।
बस यह जानना कि ये विभिन्न cmdlets मौजूद हैं, आपको Exchange के साथ काम करने की अच्छी स्थिति में रखता है, चाहे कोई भी संस्करण या कॉन्फ़िगरेशन हो।