Een verwijderde mailbox herstellen met PowerShell

Het maakt niet uit hoe je per ongeluk de mailbox van een persoon in Exchange hebt verwijderd , je kunt deze waarschijnlijk herstellen met PowerShell ( PoSh ). De sleutel is om het te doen zodra je je realiseert dat de mailbox is verwijderd. 

Het is een hartverscheurend moment wanneer we ons realiseren dat we dit per ongeluk hebben gedaan. Als je maar een paar e-mailberichten hebt verwijderd, kunnen we je ook laten zien hoe je verwijderde e-mails in Office 365 kunt herstellen(how to recover deleted emails in Office 365) .

Voordat we beginnen, houd er rekening mee dat dit bedoeld is voor het herstellen van verwijderde mailboxen in Exchange Online voor de Office 365-omgeving en Exchange 2010 . We gaan er ook van uit dat u over de beheerdersrechten beschikt om de beschreven methoden te gebruiken en dat u een aantal basis PowerShell-scripts(basic PowerShell scripting) hebt uitgevoerd . 

Wat gebeurt er als een mailbox wordt verwijderd?(What Happens When a Mailbox Is Deleted?)

Het postvak wordt verplaatst naar de prullenbak van Azure Active Directory (AD) in (Azure Active Directory )Exchange Online of naar de map Losgekoppelde postvakken(Disconnected Mailboxes ) in Exchange 2010.

Het kan daar maximaal 30 dagen blijven staan, afhankelijk van het bestaande bewaarbeleid. Dat geeft ons een uitstelperiode om onze fout te erkennen en ervan te herstellen.

Een verwijderde mailbox herstellen in Exchange Online(Restore a Deleted Mailbox In Exchange Online)

Verbinding maken met Exchange Online via PowerShell(Connect To Exchange Online Via PowerShell)

Open in uw lokale sessie de Powershell -console en gebruik de volgende opdracht om uw inloggegevens in de variabele in te stellen.

$userCredential

Dit maakt het later gemakkelijker om met andere scripts te werken.

$userCredential = get-Credential

Er wordt een venster geopend waarin u uw gebruikersnaam en wachtwoord kunt invoeren voor het beheren van Exchange Online(Exchange Online) .

Stel vervolgens het niveau van het uitvoeringsbeleid in, zodat we dingen in onze sessie kunnen doen. Hierdoor kunnen we onze niet-ondertekende opdrachten uitvoeren. Maar misschien wilt u ook best practices leren voor het ondertekenen van PowerShell-scripts(best practices for signing PowerShell scripts) .

set-ExecutionPolicy Unrestricted

Druk desgevraagd op Y voor Ja.

Nu gaan we de variabele $session maken die moet worden gebruikt om een ​​verbinding tussen de lokale computer en Exchange Online te openen .

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

Powershell-liveid is de id van uw Office - site. Meestal is dit een variatie op de naam van uw bedrijf. 

Gebruik de volgende opdracht om een ​​PoSh- sessie op Exchange Online te openen :

import-PSSession $Session -DisableNameChecking

Nu werken we rechtstreeks met PowerShell in Exchange Online , ook al zitten we op onze eigen computer.

Een verwijderde mailbox herstellen met PowerShell(Restore a Deleted Mailbox With PowerShell)

Het volgende deel is super eenvoudig. Het maken van de verbinding zal veel langer hebben geduurd. 

Het enige dat we hoeven te doen, is de onderstaande cmdlet uitvoeren:

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

Wijzig beide instanties van [email protected] in de juiste mailboxnaam en Windows LiveID [email protected] de mailbox die we willen herstellen. Houd er rekening mee dat ze mogelijk niet hetzelfde zijn. 

We moeten ook een nieuw wachtwoord instellen voor de mailbox. Wijzig nieuw wachtwoord(newpassword) in het script in het wachtwoord van uw keuze. U moet dat doorgeven aan de gebruiker en hem vragen zijn wachtwoord te wijzigen wanneer hij de volgende keer inlogt.

Gebruik ten slotte de volgende cmdlet om te controleren of dit werkt. 

get-Mailbox [email protected]

Als het is hersteld, retourneert de cmdlet informatie over het herstelde postvak. Als er een fout wordt geretourneerd, voert u de opdrachten opnieuw uit en controleert u of de juiste mailbox en Windows LiveID worden gebruikt. 

Als dat nog steeds niet werkt, moeten we de mailbox herstellen vanaf een systeemback-up. Er zijn veel soorten systeemback-ups, dus dat valt buiten het bestek van wat we vandaag doen.

Als we klaar zijn, moeten we de PoSh- sessie sluiten. Het aantal PoSh- sessies dat we hebben is beperkt. Als u het open laat, wordt een van die sessies gebruikt. Tenzij we het sluiten, moeten we wachten tot de sessie is verlopen voordat we een nieuwe kunnen starten.

remove-PSSession $Session

Dat is het. Misschien wilt u dit zelfs in een PowerShell-module scripten(PowerShell Module) voor gebruiksgemak als het opnieuw gebeurt.

Een verwijderde mailbox herstellen in Exchange 2010(Restore a Deleted Mailbox In Exchange 2010)

Dit werkt niet voor Office 365 of hybride omgevingen. Het werkt alleen voor Exchange 2010 on-premises. 

Open op de mailserver de Exchange Management Console (EMC). 

Navigeer naar Configuratie van ontvanger(Recipient Configuration ) > Niet-verbonden mailbox(Disconnected Mailbox) . We zouden de mailbox van de gebruiker daar moeten zien. 

Als we dat niet doen, is het opschonen van de mailboxdatabase nog niet gebeurd. Dat is oké, we kunnen het forceren.

  • Open de Exchange Management Shell ( EMS ) als beheerder. Dit is waar we Exchange-specifiek PowerShell-(Exchange-specific PowerShell) werk kunnen doen.
  • Nu voeren we de cmdlet in: 
Get-MailboxDatabase | Clean-MailboxDatabase

  • Als dat is gebeurd, gaan we terug naar de EMC en klikken we met de rechtermuisknop op Disconnected Mailbox en vervolgens op Vernieuwen(Refresh)
  • We zouden de mailbox daar nu moeten zien, en dat is het, samen met een andere die onlangs is verwijderd.

  • Ga terug naar EMS en voer de cmdlet in: 
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
  • Gebruikersnaam(Username) is de Windows - accountnaam van de persoon (zoals Testgebruiker ) en Mailbox(Test User) Database is (,)de(Mailbox Database) naam van de database die naast hun naam wordt vermeld in het venster Losgekoppelde mailbox(Disconnected Mailbox) in EMC. 
  • Vernieuw de niet -verbonden mailbox(Disconnected Mailbox) en u zou moeten zien dat hun mailbox daar niet langer wordt weergegeven. Navigeer naar Configuratie van ontvanger(Recipient Configuration ) > Mailbox en zorg ervoor dat de mailbox van de gebruiker daar is.

Controleer het om er zeker van te zijn dat alle instellingen correct zijn, zoals e-mailadres en alias. Als het er goed uitziet, zal de volgende keer dat de gebruiker zijn Outlook(Outlook) opent , alles er zijn zoals het was.

Postbus hersteld(Mailbox Restored)

Zo gebruikt u PowerShell om mailboxen in Exchange Online en Exchange 2010 te herstellen . Als je een hybride omgeving hebt, is het iets ingewikkelder, maar het kan worden gedaan. 

Als u weet dat deze verschillende cmdlets bestaan, bent u in een goede positie om met Exchange te werken , ongeacht de versie of configuratie.



About the author

Ik ben software engineer en heb ervaring met zowel Microsoft Office als de Chrome browser. Ik heb kennis van vele aspecten van webontwikkeling, inclusief maar niet beperkt tot: HTML, CSS, JavaScript, jQuery en React. Door mijn interesse in het werken met technologie ben ik ook bekend met verschillende platformen (Windows, Mac, iOS) en begrijp ik hoe ze werken.



Related posts