I need some advice on reducing the size of our mail stores by archiving PSTs (18+ month old emails) to somewhere else on the network where it's seemless to the end user (Outlook 2003/2007). I'd prefer to store them on the network and not the end users' machines because storage is cheap and it'll be safer.

The alternative option I was thinking of was looking for a tool that will archive attachments. People send 1 MB+ JPGs to multiple people every day. I think separating those out would be huge, ideally if we are able to replace the attachment with a link to the file. Or even simpler, deleting attachments for specific file types.


The general advice is to not use PSTs at all (definately not over a network) and hence try to expand the actual Exchange datastore space to keep it all online there instead - with no purging or archiving done (as you say, storage is cheap and the Exchange datastore can handle the size, attachment duplicates will be stored as a single object across all mailboxes as well)...

....but if you really want archiving, most likely you'll need a 3rd party solution like Enterprise Vault. How large is the typical mailbox right now?

| improve this answer | |
  • 10 stores, ranging from 18-50 GB. I'm just worried the bigger it gets the more likely we'll run into a problem, especially for stores >48 GB. I'll certainly look into Enterprise Vault since we already use Backup Exec. – iamgoat May 1 '09 at 21:47
  • Is there law/policy for keeping messages and attachments, or could you go with some user education perhaps? (learn them and remind them to empty the deleted folder, go through sent items and nuke attachments from both those and any other emails. This is not too hard to to client-side - the server will need 3rd party tools I'm afraid these days... – Oskar Duveborn May 1 '09 at 22:08
  • @Oskar, we've done that for those who have mailboxes over a certain amount, atleast as far as spam, junk, and deleted items go. Here's what got me interested in asking this question: lifehacker.com/394815/… , but I'm looking for something server side. – iamgoat May 15 '09 at 5:45

We use a script (JScript, Windows Script Host) that drives Dmitry Streblechenko's superb Redemption Data Objects MAPI library. Here's the guts of it:

var session = new ActiveXObject("Redemption.RDOSession");
session.LogonExchangeMailbox("FredB", "EXCH01");

var mailbox  = session.Stores.DefaultStore;
var pstStore = session.Stores.AddPSTStore("c:\\backups\\fredb.pst", 1, "FredB backup");

foreach(mailbox.IPMRootFolder.Folders, function(folder)



// Utility to allow enumeration of COM collections
function foreach(collection, fn)
  for(var e = new Enumerator(collection); !e.atEnd(); e.moveNext())
    if(fn(e.item()) === false)

Wouldn't take much to add logic to iterate into the items in the folders and grab messages with attachments, older than a certain date, etc.

More info on my blog: http://blog.dotsmart.net/2008/02/20/backing-up-an-exchange-mailbox-to-a-pst-file/

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.