Export mailbox to pst in Exchange 2013 using Shell

Vanaf Exchange 2010 SP1 heeft Microsoft een nieuwe methode ontwikkeld om de inhoud van een mailbox te exporteren naar een PST bestand. Standaard heeft geen enkel gebruikersaccount rechten om de inhoud van een mailbox te mogen exporteren. Deze rechten moeten expliciet toegewezen worden aan de accounts die de Mailbox Export Request methode gaan gebruiken. Tevens is het van belang te weten dat de Mailbox Export Request alleen te gebruiken is op een Client Access Server. Omdat er meerdere Client Access Servers aanwezig kunnen zijn in een netwerk kan je Mailbox Export Request op al deze servers gebruiken. Het pad waar de inhoud naar toe moet worden geëxporteerd moet een UNC-pad zijn, en geen lokaal pad.

Onderaan de pagina staat hoe je ALLE mailboxen in een keer kan exporteren.

(Dank aan http://windowstechblog.nl/)

 


cmdlets overzicht

Rechten instellen:

New-ManagementRoleAssignment –Role "Mailbox Import Export" –User domein\gebruikersnaam

Mailbox exporteren:

New-MailboxExportRequest –Mailbox mvandijk –FilePath \\win-9TEH2L2G2S8\Support\Export\mvandijk.pst

Overzicht lopende exports:

Get-MailboxExportRequest

Details Mailbox export:

Get-MailboxExportRequest -Name MailboxExport | fl

Export statistieken:

Get-MailboxExportRequest | Get-MailboxExportRequestStatistics

Overzicht voltooide exports:

Get-MailboxExportRequest | where {$_.status -eq "Completed"}

Voltooide exports verwijderen uit Exchange:

Get-MailboxExportRequest | where {$_.status -eq "Completed"} | Remove-MailboxExportRequest

Mailbox Export Request rechten instellen

Allereerst moeten we ervoor zorgen dat de rechten juist staat ingesteld op locatie waar de PST bestanden naartoe worden geëxporteerd. Het enige wat je daarvoor hoeft te doen is de Security Group Exchange Trusted Subsystem lees-/schrijfrechten heeft op deze locatie.

Exchange 2010 export mailbox to pst using shell

Open vervolgens de Exchange Management Shell(open deze niet als Administrator). Geef het administrator account de juiste rechten met de volgende cmdlet:

New-ManagementRoleAssignment –Role "Mailbox Import Export" –User domein\gebruikersnaam

Exchange 2010 export mailbox to pst with the shell

Als je als deze gebruiker bent ingelogd herstart je Exchange Management Shell sessie om de gebruiker toegang te geven tot de nieuwe cmdlets.

Exchange mailbox exporteren naar een PST bestand

Nu alles juist staat geconfigureerd kunnen we de New-MailboxExportRequest cmdlet gebruiken om de inhoud van een mailbox te exporteren. De enige twee parameters die we voor deze commando moeten gebruiken is de locatie waar het PST bestand naartoe moet worden geëxporteerd en de naam van de mailbox die moet worden geëxporteerd.

Om een mailbox te exporteren ziet de cmdlet er als volgt uit:

New-MailboxExportRequest –Mailbox mvandijk –FilePath \\win-9TEH2L2G2S8\Support\Export\mvandijk.pst

Get-MailBoxExportRequest

Met de cmdlet Get-MailboxExportRequest kan je de status van de export zien.

Get-MailboxExportRequest

Get-MailboxExportRequest status

Om meer details te kunnen zien over de mailbox, gebruik dan de volgende cmdlet:

Get-MailboxExportRequest -Name MailboxExport | fl

Get-MailBoxExportRequest Mailbox

Tijdens het exporteren van de mailbox kan je heel eenvoudig de export actief monitoren met de cmdlet Get-MailboxExportRequestStatistics

Get-MailboxExportRequest | Get-MailboxExportRequestStatistics

Get-MailboxExportRequestStatistics

Mailbox export voltooien

Nadat een aanvraag voor het exporteren van een mailbox is voltooid, blijft deze op de server staan totdat deze is verwijdert door de Administrator met cmdlet Remove-MailboxExportRequest

Om een overzicht te zien van de alle voltooide exports, gebruik de volgende cmdlet:

Get-MailboxExportRequest | where {$_.status -eq "Completed"}

Remove-MailboxExportRequest

Wanneer je klaar bent met het exporteren van de mailboxen moeten de aanvragen uit Exchange worden verwijdert.

Get-MailboxExportRequest | where {$_.status -eq "Completed"} | Remove-MailboxExportRequest

Remove-MailboxExportRequest Completed

 

Alle mailboxen in 1 keer export

 

Stap1
Het volgende script heb je nodig:

$mailboxes = get-mailbox
foreach ($mailbox in $mailboxes) {
new-mailboxexportrequest -mailbox $mailbox -FilePath \\server\share\$mailbox.pst }

Kopieer de inhoud van dit script naar een txt-file en sla deze op als bijvoorbeeld c:\export.ps1. Verander uiteraard het path naar de netwerkshare.

Stap2


Open ESM
ga naar de root van c:\
Start het script: .\export.ps1

Stap3

Controleer de status van de export door dit commando: Get-MailboxExportRequestStatistics