Exchange 2013, Powershell command to delete email older than a date
Posted on 2013-11-17
Can anyone supply me with a script/command to delete all emails, calendars, contacts and everything else in all users mailboxes older than a certain date. This is for all users in an exchange 2013 environment.
The reason for this is we recently imported all email from another system/domain as part of a project and all email has appeared as unread (including calendars). This is a great inconvenience to the site.
The method for migrating the email is to export to pst from the old system and import in the new using powershell, the initial export is where we found the issue occurred with setting all email to unread.
We have now figured out how to export the email correctly without appearing as unread and saving the state from the previous system, but if we try a new-mailboximportrequest with the pst now it detects the email is already in there and doesn't copy over the top. And if we try a manual import of the pst through outlook setting "replace duplicates with items imported" it just goes and creates a whole bunch of duplicates.
Once we have the command to delete the email older than a certain date we will run the import again with the pst files that now have the correct state applied.
However if anyone can supply me with an alternative to the above, eg software which can import the pst over the top and correct the state that would be even better.