كيفية استعادة صندوق بريد محذوف باستخدام PowerShell

بغض النظر عن كيفية حذف صندوق بريد شخص ما عن طريق الخطأ في Exchange ، يمكنك على الأرجح استعادته باستخدام PowerShell ( PoSh ). المفتاح هو القيام بذلك بمجرد أن تدرك أن صندوق البريد قد تم حذفه. 

إنها لحظة قفز فيها قلبي إلى حنجرتي عندما أدركنا أننا فعلنا ذلك عن طريق الخطأ. إذا قمت بحذف بعض رسائل البريد الإلكتروني فقط ، فيمكننا أن نوضح لك كيفية استرداد رسائل البريد الإلكتروني المحذوفة في Office 365(how to recover deleted emails in Office 365) أيضًا.

قبل أن نبدأ ، لاحظ أن هذا مخصص لاستعادة علب البريد المحذوفة في Exchange Online لبيئة Office 365 و Exchange 2010 . نفترض أيضًا أن لديك الحقوق الإدارية لاستخدام الطرق الموضحة وقمت ببعض البرمجة النصية الأساسية لـ PowerShell(basic PowerShell scripting)

ماذا يحدث عند حذف صندوق البريد؟(What Happens When a Mailbox Is Deleted?)

يتم نقل صندوق البريد إلى سلة المحذوفات Azure Active Directory (AD) في (Azure Active Directory )Exchange عبر الإنترنت(Exchange Online) أو دليل علب البريد غير(Disconnected Mailboxes ) المتصلة في Exchange 2010.

قد يظل هناك لمدة تصل إلى 30 يومًا اعتمادًا على سياسات الاحتفاظ المعمول بها. وهذا يمنحنا فترة سماح للتعرف على خطأنا والتعافي منه.

استعادة علبة البريد المحذوفة في Exchange عبر الإنترنت(Restore a Deleted Mailbox In Exchange Online)

اتصل بـ Exchange عبر الإنترنت عبر PowerShell(Connect To Exchange Online Via PowerShell)

في جلستك المحلية ، افتح وحدة تحكم Powershell واستخدم الأمر التالي لتعيين بيانات اعتماد تسجيل الدخول الخاصة بك في المتغير.

$userCredential

هذا يجعل من السهل العمل مع البرامج النصية الأخرى لاحقًا.

$userCredential = get-Credential

ستفتح نافذة حيث يمكنك إدخال اسم المستخدم وكلمة المرور لإدارة Exchange عبر الإنترنت(Exchange Online) .

بعد ذلك ، قم بتعيين مستوى سياسة التنفيذ حتى نتمكن من فعل الأشياء في جلستنا. هذا يسمح لنا بتشغيل أوامرنا غير الموقعة. ولكن قد ترغب في معرفة أفضل الممارسات لتوقيع برامج PowerShell النصية(best practices for signing PowerShell scripts) أيضًا.

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 عبر الإنترنت(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 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) هو اسم قاعدة البيانات المدرجة بجانب اسمه في نافذة  صندوق البريد غير المتصل في EMC.(Disconnected Mailbox)
  • قم بتحديث صندوق البريد(Disconnected Mailbox) غير المتصل وسترى أن صندوق البريد الخاص بهم لم يعد معروضًا هناك. انتقل إلى تكوين المستلم(Recipient Configuration ) > صندوق البريد وتأكد(Mailbox ) من وجود صندوق بريد المستخدم.

تحقق منه للتأكد من صحة جميع الإعدادات ، مثل عنوان البريد الإلكتروني والاسم المستعار. إذا بدا الأمر جيدًا ، في المرة التالية التي يفتح فيها المستخدم Outlook الخاص به ، سيكون كل شيء موجودًا كما كان.

تمت استعادة علبة البريد(Mailbox Restored)

هذه هي كيفية استخدام PowerShell لاستعادة علب البريد في Exchange Online و Exchange 2010 . إذا كان لديك بيئة هجينة ، فهي أكثر تعقيدًا بعض الشيء ولكن يمكن القيام بها. 

إن مجرد معرفة وجود أوامر cmdlets المختلفة هذه يضعك في وضع جيد للعمل مع Exchange ، بغض النظر عن الإصدار أو التكوين.



About the author

أنا مبرمج كمبيوتر منذ أكثر من 15 عامًا. تكمن مهاراتي في تطوير التطبيقات البرمجية وصيانتها ، فضلاً عن تقديم الدعم الفني لتلك التطبيقات. لقد قمت أيضًا بتدريس برمجة الكمبيوتر لطلاب المدارس الثانوية ، وأنا حاليًا مدرس محترف.



Related posts