Bulk Export Online Archive mailboxen naar .PST bestanden

      Reacties uitgeschakeld voor Bulk Export Online Archive mailboxen naar .PST bestanden

Vanaf Exchange 2010 is het mogelijk om een Online Archive voor gebruikers aan te maken.
Dit heeft als voordeel dat je retention policies aan kunt maken om centraal te kunnen archiveren. Het Online Archive is een extra database in Exchange waarin de archieven geplaatst worden.

Dit werkt allemaal prima en precies zoals het bedoeld is, maar wat als je eenmaal (bijna) alle gebruikers hebt voorzien van een online archive en je wilt er weer van af ?
Het aanzetten is slechts het activeren per gebruiker van het archief en een database selecteren.
Maar het archief opheffen met behoud van data is een ander verhaal !

Online Archive opheffen met behoud van data

Zo snel dat je dus een archive kunt aanzetten, zo bewerkelijk is het om van het online archive af te willen, tenminste…als je de mailboxen in het archief wilt behouden.

Wat er moet gebeuren om archief mailboxen op te heffen waarbij de mailboxen geëxporteerd worden naar een PST bestand zodat je deze, indien nodig, weer kunt importeren ?

  • Je moet de retention policies uitschakelen die van toepassing zijn op het Online Archive
  • Dan moet je voor elke mailbox in dat archief een mailbox export aanzetten
    Dat is met 5-10 mailboxen nog te overzien, maar als je enkele honderden mailboxen 1 voor 1 af moet, wordt niemand blij van.
  • Na de export kun je per gebruiker het Online Archive uit zetten.
  • tenslotte kun je de database backuppen en/of verwijderen

Kan het exporteren van Mailboxen naar PST bestanden niet eenvoudiger ?

Jazeker !
Met behulp van een klein scriptje kunnen we in ieder geval het exporteren van Online Archive mailboxen vereenvoudigen naar slechts 1 handeling.
Hiermee maken we dus Bulk Export van PST bestanden mogelijk.

Hoe dat moet, leggen we hieronder uit…

Bulk Export van PST bestanden inrichten !

Om dit te realiseren hebben we een paar zaken nodig :

  • Om naar PST te mogen exporteren, dien je rechten te hebben op de Exchange Server
  • Voldoende schijfruimte op een plek waar de Exchange user volledige rechten heeft waar de PST bestanden geplaatst kunnen worden.
  • Script om het exporteren te vereenvoudigen.

Rechten instellen voor het exporteren naar PST bestanden

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.

1

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

2

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

Plek met voldoende schijfruimte om alle PST’s te huisvesten

Check eerst even hoe groot de database van het Online Archive is en zorg er voor dat je een plek hebt die minimaal net zo groot is, liefst minimaal 10% meer.
Wanneer je VMWare gebruikt zou je aan de Exchange Server een nieuwe VMDK kunnen toewijzen.
Maak op deze plek een share aan waar de Exchange user bij kan om de PST’s neer te zetten.
Het opslag gedeelte is dan afgerond.

Mailboxen exporteren naar PST bestanden middels een script

Om een mailbox te exporteren, moet je in de Exchange Powershell zijn. Dit gaat niet in de Management Console helaas.

Het commando dat je nodig hebt om een mailbox te exporteren vanuit de “live” database is :

New-MailboxExportRequest -Mailbox <gebruiker> -FilePath \\pad-naar-share\gebruiker.pst

Maar we willen exporteren vanuit de Online Archive database !
Daarvoor moeten we een parameter toevoegen :

New-MailboxExportRequest -Mailbox <gebruiker> -IsArchive -FilePath \\pad-naar-share\gebruiker.pst

Zonder script zou je dit dus voor elke gebruiker 1 voor 1 moeten doen.
Maar het is niet voor niets een Power Shell !

We gaan een klein scriptje in elkaar zetten van slechts 8 regels code die het volgende doet :

  • Exchange server in een variabele vastleggen
  • Het pad naar de PST’s in een variabele vastleggen
  • De Archive database uitlezen en de resultaten in een Userlist variabele vastlegt
  • Dan de routine starten die voor elke gebruiker in de Userlist staat de mailbox export start/queued naar het opgegeven pad en plaatst daar de PST met de naam $user.pst

Kopieer en plak onderstaande code in notepad of wat je zelf fijn vindt en sla het bestand op als export-archive2pst.PS1
Wijzig de vetgedrukte waardes in waardes die overeenkomen met jouw omgeving

$mailserver = “EXCHANGE-SERVER
$path = “\\PADNAARPST
$userlist = get-mailboxdatabase -server $mailserver | Get-Mailbox | where {$_.ArchiveDatabase -ne $null}

foreach ($user in $userlist)
{
$useralias = $user.alias
New-MailboxExportRequest -Mailbox $useralias -IsArchive -FilePath $path\$user.pst
}

Het is zover ! We gaan de bulk export aanzetten !

Nu alles voorbereid en ingericht is, kunnen we de bulk export aanzetten.

In de Exchange Powershell cd je naar de plek waar je het script hebt neergezet.
Start dit script door .\export-archive2pst.PS1 in te typen gevolgd door Enter.

Het script start en gaat aan de slag. Na een paar seconden zie je dat de lijst met exports wordt opgebouwd en voor welke gebruiker.
Exchange 2010 zal maximaal 10 exports simultaan uitvoeren en de rest staat gequeued.
Neem een bak koffie en ga ondertussen wat anders doen. Alle mailboxen die in de Archive database staan worden nu geëxporteerd naar PST bestanden.

Om de status van de exports te bekijken, gebruik je het volgende commando :

Get-MailboxExportRequest

Je ziet dan een lijst met alle exports die lopen.
Daarachter staat dan een status zoals Completed (klaar), Queued (in de wachtrij), InProgress (Bezig) en/of Failed (Mislukt)

Nadat de export voor alle mailboxen Completed is hebben we alle data uit het Online Archive gehaald.
Dan kunnen we bij alle gebruikers het Archive disablen zodat het archief van de gebruiker wordt afgekoppeld.
Nu kunnen we nog voor de laatste keer een backup ervan maken en vervolgens de database dismounten en deleten.

Je hebt nu dus alle Mailbox Archieven van de gebruikers. Deze kun je bewaren of indien nodig terug importeren in de huidige mailbox of als Archief in Outlook koppelen.

Cheers !