« Windows 2003 Server R2 Lesson Learnt | Main | Outlook 2007 SSL error messages on Startup when connecting to a single server running all the roles »

Importing .PSTs into Exchange 2007 and the problems of talking to Microsoft.

I’m working on a project at the moment which involves a migration of a mix users from a pop3 / IMAP email system a Lotus Notes system. We are currently going through the Lotus Notes part. Due to the migration being a division which is splitting from the parent company the Exchange server is being built in a new site with no connectivity to the parent systems so a normal co-existence migration isn’t possible. The migration for the Notes users is based on using Quest Migration tools to export from Notes to .pst files and then to ship those .pst files to the new site an import the .psts into Exchange.
Usually the .pst import would of been done with exmerge but when we did the research for this we found it had been dropped in favour of a new command line tool. Now months later from the original concept it came down to start to work out how to script the import ready for a proof of concept only to find that the import tool didn’t make the final cut for Exchange 2007 and was going to be released in SP1 for Exchange 2007.
I found out that SP1 was available in beta form and managed to get hold of a copy from MSDN. I installed the Exchange admin tools from the SP1 Exchange CD onto a new 64 bit 2003 server as I didn’t want to put the sp1 beta on any of the existing Exchange servers. When I ran the tool I got the message saying this has to be run on a 32bit machine. I kinda knew that before I started but I was hoping to get away with it. The reason that was quoted before was that it needed to be 32 bit because of its dependency on Outlook 2003 / 2007. Well I knew these worked on a 64bit machine so I was hoping it was going to work but no such luck.
The problem was I couldn’t find the 32bit version of SP1. I phoned Microsoft to see what could be done, its a big well known customer so I was sure I would be able to get some help. I think I wasted about 3 hours on the phone that afternoon. I phoned up pre-sales, tech support, direct services, MSDN and a few other departments. MSDN told me they hadn’t even seen the beta.. even though the 64bit was on the MSDN website, customer services got into an argument with me that Microsoft had never produced a 32bit version of Exchange as a trial version, development version or any other version and demanded to see proof of where I had obtained this software. After getting a little frustrated I decided to call someone from Microsoft who had done a presentation on Exchange 2007 that I had attended, she was great, she promised me she would look into it and let me know... later that night she sent me an email with a suggestion of where to get it. I downloaded it, tested it and it worked a treat.
I’ve had this issue time and time again with Microsoft. Where you need to speak to someone that knows the product just for some help with some direction. Its not really a support call its just a bit of guidance or something like that... any other vendor are more than willing to help you get their products out there.. with Microsoft there are just too many brick walls, stopping you getting to the people that know.
So.. anyway.. what are these commands for the import... well the ms exchange team wrote about it on their blog recently so here is a copy and paste


Export/Import to PST Requirements
In order to export or import mailboxes to PST files the following requirements must be met:
• Export/Import to PST must be run from a 32 bit client machine with Exchange Management Tools installed (Version Exchange 2007 SP1 or later). The 32bit requirement comes from a dependency with the Outlook client.
• Either Outlook 2003 or Outlook 2007 must be installed on the client machine.
• The user running the task must be an Exchange Organization Admin or an Exchange Server Admin on the server where the mailbox to export/import lives.

Exporting mailboxes to PST files
The most basic cmdlet to export a mailbox to a PST file is as follows:
Export-Mailbox –Identity -PSTFolderPath
PSTFolderPath must be a full path pointing either to a directory or to a (.pst) file. If a directory is specified a PST file named after the mailbox alias will be used as the target of the export. Note that if the PST file already exists the contents of the mailbox will be merged into it.
After the cmdlet finishes execution, the .pst file will be ready in the specified location:
To export multiple mailboxes to their respective .pst files at once you can pipe in the identities of those mailboxes to the export task. Notice that when bulk exporting the PSTFolderPath parameter must forcefully point to a directory since one .pst file will be created for each mailbox.
Example:
Get-Mailbox -Database 'MDB' | Export-Mailbox -PSTFolderPath D:\PSTs

Importing mailboxes from PST files
The process for importing mailbox contents from a PST file is quite similar:
Import-Mailbox -Identity -PSTFolderPath
Again, PSTFolderPath must be the full path to the directory where the .pst file lives or to the (.pst) file itself. In the case where PSTFolderPath points to a directory the cmdlet will try to match the mailbox alias with the name of an existing .pst file in the specified directory and import the content of that file.
Just as with the export to PST scenario, when bulk importing mailboxes the PSTFolderPath must forcefully point to a directory and the task logic will try to match mailboxes alias with the .pst file names under that location. If no match is found for a particular mailbox, that mailbox will be skipped.
Example:
Get-Mailbox -Database 'MDB' | Import-Mailbox -PSTFolderPath D:\PSTs

Filtering content in Export/Import to PST
When only specific content is desired in the PST file (or back into the mailbox) a common set of filters can be used to leave out the rest of the messages. Export/Import to PST support the following filters: Locale, StartDate, EndDate, ContentKeywords, SubjectKeywords, AttachmentFileNames, AllContentKeywords, SenderKeywords, and RecipientKeywords.
Example: Import only those messages that were created between 1/1/06 and 12/1/06 and contain the word "review" in the subject and any of the words {"project","alpha"} in the body.
Import-mailbox -Identity ricardr -PSTFolderPath D:\PSTs -StartDate 1/1/06 -EndDate 12/1/06 -SubjectKeywords:'review' -ContentKeywords:'project','alpha'

UPDATE
Since I wrote this there have been a couple of updates. The first is that we were able to ditch the migration from .pst option. We went for this as the customer had told us they used shared databases in Lotus Notes but on getting on site we found that this wasn’t the case. We decided to go with creating a replica Notes server with just the users NSF files on it and then ship this server next to the new Exchange server and use Quest tools to perform the migration.
The other update is that I had an email from someone at Microsoft to say that although Exmerge doesn’t work with 2007 all you need is the 2003 admin tools to get it to work, which is a lot less hassle of installing an Exchange 2003 server into the organisation if you don’t have one handy. You would be limited to 2gb mail files though.

TrackBack

TrackBack URL for this entry:
http://www.jwarburton.com/mt/mt-tb.cgi/123

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)