Mailbox Archive Tool for Microsoft Exchange Servers

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.


  1. I tried running your tool with no success. It logged the activity but, I could not find the .pst file afterwards. I changed the bad item limit size and ran it again with the same result.

  2. Congratulations on your recent Microsoft MVP award. I was wondering if you could help me out by adding a date function to you Mailbox Archive Tool? So I can enter a data range to extract and delete email only from certain dates. I know it is possible because the commands exist in Shell, but I have no idea how to add it to your script. Thank you.

  3. I tried your tool but it didn’t work. According to the log file, the tool requires 32-bit OS. I have 64 bit OS.

  4. I tried to run this as well. It looked like it ran properly, but it never actually put out a PST file. No errors, no problems in the log, just no PST. Thanks for the effort, If you have an updated version or a thought on why this did not work, I would love to be able to use this tool.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: