Как да възстановите изтрита пощенска кутия с 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 Online , или в директорията с изключени пощенски кутии(Disconnected Mailboxes ) в Exchange 2010.

Той може да остане там до 30 дни в зависимост от правилата за задържане, които са в сила. Това ни дава гратисен период да разпознаем грешката си и да се възстановим от нея.

Възстановете изтрита пощенска кутия в Exchange Online(Restore a Deleted Mailbox In Exchange Online)

Свържете се с Exchange Online чрез PowerShell(Connect To Exchange Online Via PowerShell)

Във вашата локална сесия отворете конзолата Powershell и използвайте следната команда, за да зададете вашите идентификационни данни за вход в променливата.

$userCredential

Това улеснява работата с други скриптове по-късно.

$userCredential = get-Credential

Ще се отвори прозорец, където можете да въведете вашето потребителско име и парола за управление на 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 Online , въпреки че сме на собствения си компютър.

Възстановете изтрита пощенска кутия с PowerShell(Restore a Deleted Mailbox With PowerShell)

Следващата част е супер лесна. Осъществяването на връзката ще ни отне много повече време. 

Всичко, което трябва да направим, е да стартираме командлета, показан по-долу:

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

Променете и двата екземпляра на [email protected] на съответното име на пощенска кутия и Windows LiveID на пощенската кутия, която искаме да възстановим. Имайте предвид, че може да не са еднакви. 

Трябва също да зададем нова парола за пощенската кутия. Променете нова парола(newpassword) в скрипта на парола по ваш избор. Ще трябва да го предадете на потребителя и да го помолите да промени паролата си следващия път, когато влезе.

Накрая използвайте следващия командлет, за да проверите дали това работи. 

get-Mailbox [email protected]

Ако е възстановен, командлетът ще върне информация за възстановената пощенска кутия. Ако върне грешка, преминете през командите отново и се уверете, че се използват правилната пощенска кутия и Windows LiveID

Ако това все още не работи, тогава ще трябва да възстановим пощенската кутия от резервно копие на системата. Има много видове резервни копия на системата, така че това е извън обхвата на това, което правим днес.

Когато приключим, трябва да затворим PoSh сесията. Броят на сесиите на PoSh , които провеждаме, е ограничен. Оставянето му отворено използва една от тези сесии. Освен ако не го затворим, ще трябва да изчакаме сесията да изтече, преди да можем да започнем друга.

remove-PSSession $Session

Това е. Може дори да искате да скриптирате това в модул PowerShell(PowerShell Module) за по-лесно използване, ако това се случи отново.

Възстановете изтрита пощенска кутия в Exchange 2010(Restore a Deleted Mailbox In Exchange 2010)

Това не работи за Office 365 или хибридни среди. Работи само за локално  Exchange 2010 .

На пощенския сървър отворете конзолата за управление на Exchange(Exchange Management Console ) (EMC). 

Придвижете се до Конфигурация на получателя(Recipient Configuration ) > Прекъсната пощенска кутия(Disconnected Mailbox) . Там трябва да видим пощенската кутия на потребителя. 

Ако не го направим, значи процесът на почистване на базата данни на пощенската кутия все още не се е случил. Всичко е наред, можем да го принудим.

  • Отворете Exchange Management Shell ( EMS ) като администратор. Това е мястото, където можем да извършваме специфична за Exchange работа с PowerShell(Exchange-specific PowerShell) .
  • Сега влизаме в командлета: 
Get-MailboxDatabase | Clean-MailboxDatabase

  • След като това стане, нека се върнем към EMC и щракнете с десния бутон върху Disconnected Mailbox , след което щракнете върху Refresh
  • Сега трябва да видим пощенската кутия там и тя е, заедно с друга, която беше изтрита наскоро.

  • Върнете се в EMS и въведете командлета: 
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 , без значение каква версия или конфигурация.



About the author

Аз съм опитен софтуерен инженер, с над 10 години опит в разработването и поддържането на Microsoft Office приложения. Имам силна страст да помагам на другите да постигнат целите си, както чрез работата ми като софтуерен инженер, така и чрез моите умения за публично говорене и работа в мрежа. Освен това съм изключително запознат с драйверите за хардуер и клавиатура, като сам разработих и тествах много от тях.



Related posts