Hur man återställer en raderad brevlåda med PowerShell

Oavsett hur du av misstag raderade en persons brevlåda i Exchange kan du förmodligen återställa den med PowerShell ( PoSh ). Nyckeln är att göra det så snart du inser att brevlådan har raderats. 

Det är ett hjärta-hoppade-in-halsen-ögonblick när vi inser att vi av misstag har gjort det här. Om du bara har raderat ett fåtal e-postmeddelanden kan vi visa dig hur du återställer raderade e-postmeddelanden i Office 365(how to recover deleted emails in Office 365) också.

Innan vi börjar, notera att detta är avsett för att återställa raderade postlådor i Exchange Online för Office 365-miljön och Exchange 2010 . Vi antar också att du har administrativa rättigheter att använda metoderna som beskrivs och att du har gjort en del grundläggande PowerShell-skript(basic PowerShell scripting)

Vad händer när en brevlåda raderas?(What Happens When a Mailbox Is Deleted?)

Postlådan flyttas till antingen Azure Active Directory (AD) papperskorgen i Exchange Online eller katalogen Disconnected Mailboxes i Exchange 2010.

Den kan sitta där i upp till 30 dagar beroende på vilka lagringspolicyer som finns. Det ger oss en frist att inse vårt misstag och återhämta oss från det.

Återställ en raderad brevlåda i Exchange Online(Restore a Deleted Mailbox In Exchange Online)

Anslut till Exchange Online via PowerShell(Connect To Exchange Online Via PowerShell)

Öppna Powershell-(Powershell) konsolen i din lokala session och använd följande kommando för att ställa in dina inloggningsuppgifter i variabeln.

$userCredential

Detta gör det lättare att arbeta med andra skript senare.

$userCredential = get-Credential

Ett fönster öppnas där du kan ange ditt användarnamn och lösenord för att hantera Exchange Online .

Ställ sedan in exekveringspolicynivån så att vi faktiskt kan göra saker under vår session. Detta gör att vi kan köra våra osignerade kommandon. Men du kanske vill lära dig bästa praxis för att signera PowerShell-skript(best practices for signing PowerShell scripts) också.

set-ExecutionPolicy Unrestricted

När du uppmanas, tryck på Y för Ja.

Nu ska vi skapa variabeln $session som ska användas för att öppna en anslutning mellan den lokala datorn och Exchange Online .

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

Powershell-liveid är ID:t för din Office - webbplats. Vanligtvis är detta en variant av ditt företags namn. 

Använd följande kommando för att öppna en PoSh- session på Exchange Online :

import-PSSession $Session -DisableNameChecking

Nu jobbar vi med PowerShell direkt i Exchange Online , trots att vi sitter vid vår egen dator.

Återställ en borttagen brevlåda med PowerShell(Restore a Deleted Mailbox With PowerShell)

Nästa del är superlätt. Att upprätta anslutningen kommer att ha tagit oss mycket längre tid. 

Allt vi behöver göra är att köra cmdleten som visas nedan:

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

Ändra båda instanserna av [email protected] till lämpligt brevlådenamn och Windows LiveID för brevlådan vi vill återställa. Observera att de kanske inte är samma. 

Vi måste också ställa in ett nytt lösenord för brevlådan. Ändra nytt lösenord(newpassword) i skriptet till lösenordet du väljer. Du måste vidarebefordra det till användaren och be dem ändra sitt lösenord nästa gång de loggar in.

Använd till sist nästa cmdlet för att kontrollera att detta fungerade. 

get-Mailbox [email protected]

Om den har återställts kommer cmdleten att returnera information om den återställda postlådan. Om det returnerar ett fel, gå igenom kommandona igen och se till att rätt brevlåda och Windows LiveID används. 

Om det fortfarande inte fungerar måste vi återställa brevlådan från en systemsäkerhetskopiering. Det finns många typer av systemsäkerhetskopior, så det ligger utanför räckvidden för vad vi gör idag.

När vi är klara måste vi stänga PoSh- sessionen. Antalet PoSh- sessioner vi har igång är begränsat. Att lämna det öppet använder en av dessa sessioner. Om vi ​​inte stänger den måste vi vänta tills sessionen tar time-out innan vi kan starta en ny.

remove-PSSession $Session

Det är allt. Du kanske till och med vill skripta detta till en PowerShell-modul(PowerShell Module) för enkel användning om det händer igen.

Återställ en borttagen brevlåda i Exchange 2010(Restore a Deleted Mailbox In Exchange 2010)

Detta fungerar inte för Office 365 eller hybridmiljöer. Det fungerar bara för Exchange 2010 lokalt. 

Öppna Exchange Management Console(Exchange Management Console ) (EMC)  på e-postservern .

Navigera till Mottagarens konfiguration(Recipient Configuration ) > Frånkopplad brevlåda(Disconnected Mailbox) . Vi bör se användarens brevlåda där. 

Om vi ​​inte gör det har rensningsprocessen för postlådedatabasen inte hänt ännu. Det är okej, vi kan tvinga fram det.

  • Öppna Exchange Management Shell ( EMS ) som administratör. Det är här vi kan utföra Exchange-specifikt PowerShell-(Exchange-specific PowerShell) arbete.
  • Nu går vi in ​​i cmdleten: 
Get-MailboxDatabase | Clean-MailboxDatabase

  • När det är gjort, låt oss gå tillbaka till EMC och högerklicka på Disconnected Mailbox , klicka sedan på Uppdatera(Refresh)
  • Vi borde se brevlådan där nu, och det är den, tillsammans med en annan som raderades nyligen.

  • Gå tillbaka till EMS och ange cmdleten: 
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
  • Användarnamn(Username) är personens Windows - kontonamn (som Testanvändare(Test User) ) och(,) Mailbox Database(Mailbox Database) är namnet på databasen som listas bredvid deras namn i fönstret Disconnected Mailbox i EMC. 
  • Uppdatera frånkopplad brevlåda(Disconnected Mailbox) och du bör se att deras brevlåda inte längre visas där. Navigera till Mottagarens konfiguration(Recipient Configuration ) > Brevlåda(Mailbox ) och se till att användarens brevlåda finns där.

Kontrollera den för att se till att alla inställningar är korrekta, som e-postadress och alias. Om det ser bra ut nästa gång användaren öppnar sin Outlook kommer allt att vara där precis som det var.

Brevlådan återställd(Mailbox Restored)

Det är hur du använder PowerShell för att återställa postlådor i Exchange Online och Exchange 2010 . Om du har en hybridmiljö är det lite mer komplicerat men det kan göras. 

Bara att veta att dessa olika cmdlets finns ger dig en bra position att arbeta med Exchange , oavsett vilken version eller konfiguration.



About the author

Jag är en webbutvecklare med över 10 års erfarenhet av att arbeta med webbläsarna Firefox och Google Docs. Jag är specialist på att skapa enkla men kraftfulla onlineapplikationer och har utvecklat webbaserade lösningar för både små företag och stora organisationer. Min kundbas inkluderar några av de största företagen, inklusive FedEx, Coca Cola och Macy's. Mina kunskaper som utvecklare gör mig till en idealisk kandidat för alla projekt som behöver slutföras snabbt och effektivt - från att utveckla anpassade webbplatser till att skapa robusta e-postmarknadsföringskampanjer.



Related posts