Mailbox Archive Tool for Microsoft Exchange Servers

1 minute read

This is another GUI tool based on PowerShell I’ve written in the past.

A company I worked for needed a tool for Service Desk people to archive users’ mailboxes into PST file. I’m not an Exchange engineer, they told me they used to use ExMerge in Exchange 2003 environment but since upgraded to Exchange 2007,  they were no longer able to do so under a GUI interface because ExMerge was replaced by a PowerShell cmdlet “Export-MailBox”.

So I wrote this mailbox archive tool. it basically archives a mailbox into a PST file (with the option to whether delete mailbox after archiving):


This tool has been tested and it is working in both Exchange 2007 and 2010 environment.


Exchange 2007 Exchange 2010
32 bit Operating System 64 bit Operating System
Outlook 2007 64 bit Outlook 2010
32 bit Exchange 2007 Management Tools Exchange 2010 Management Tools
Windows PowerShell Windows PowerShell

Setup operators permissions (Below powershell commands use “Domain\Exchange Operators Group” as an example):

  • add-ExchangeAdministrator -Identity "Domain\Exchange Operators Group" -Role ViewOnlyAdmin -confirm:$false
  • $mailDBs = Get-MailboxDatabase | where {$_.StorageGroup -match "Storage Group"}
  • $mailDBs | add-adpermission -User "Domain\Exchange Operators Group" -AccessRights WriteOwner,WriteDacl -extendedrights ms-Exch-Store-Admin


  1. Logon to the computer using an account that’s been setup to have the appropriate rights.
  2. Launch the tool using the shortcut: (Note, I’ve hard coded the path in the shortcut to C:\Scripts\Mail-Archive. please modify the shortcut if required)image
  3. Enter the mailbox and specify PST file location, choose "Delete after export" if desired.
  4. Click "Run" to begin archiving.
  5. output and logs are displayed on the output pane.
  6. Locate the PST file after it’s donepst
  7. Logs are also created for each export under the log folder:image
  8. Note if export failed because it has reached bad item limit, you can change the threshold in MailArchiveConfig.ini. I’ve set it to 1000, increase it if you like.

Leave a comment