{"id":208,"date":"2008-10-22T17:34:30","date_gmt":"2008-10-22T17:34:30","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=208"},"modified":"2009-04-05T07:43:07","modified_gmt":"2009-04-05T07:43:07","slug":"battle-scarred-but-mostly-victorious-experiences-with-the-exchange-2007-transporter-for-lotus-notes","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/battle-scarred-but-mostly-victorious-experiences-with-the-exchange-2007-transporter-for-lotus-notes","title":{"rendered":"Battle-scarred but (mostly) victorious &#8211; experiences with the Exchange 2007 Transporter for Lotus Notes"},"content":{"rendered":"<p>I have just\u00c2\u00a0completed what initially sounded like\u00c2\u00a0a fairly straight-forward project &#8211; install Exchange 2007 and migrate 35 mailboxes from Lotus Notes. The migration would be one-shot &#8211; so no need for a coexistance phase.<\/p>\n<p>Such a small migration didn&#8217;t seem to warrant the purchase of Quest or Transend &#8211; and besides, the <a href=\"http:\/\/technet.microsoft.com\/en-au\/interopmigration\/bb403105.aspx\" target=\"_blank\">Microsoft recommendation<\/a> is to use their very own, freely supplied Transporter. Having only ever used the IMAP migrator before, and with no problems,\u00c2\u00a0I went blithely into the project, assuming it would all be straight forward.<\/p>\n<p>Well let me tell you &#8211; next time I&#8217;m going to push for the 3rd parties! Getting Transporter working was hard, keeping it working was hard, and certain emails were, for no apparent reason, un-migratable. However, if you do find yourself having to work with this tool, here are a few tips.<!--more--><\/p>\n<h3>Installation<\/h3>\n<p>I installed Transporter on a workstation, and we then took an image and installed it to a second workstation so I could have a backup. The migrations were so slow and buggy that the second station was a lifesaver &#8211; and even then it took 3 days to move the 35 boxes!<\/p>\n<p>Both workstations had 2GB of RAM\u00c2\u00a0and seperate 100MBit network cards to connect to the networks hosting the Notes and Exchange servers. They were running Windows XP.<\/p>\n<p>You need<\/p>\n<ol>\n<li>A\u00c2\u00a0Lotus Notes client, which has, most recently,\u00c2\u00a0been logged in using the Notes account\u00c2\u00a0for the migration. The Notes account must have minimum of Read access to names.nsf, catalog.nsf, and all the mail DBs.<\/li>\n<li>The Exchange Management Console, along with all the powershell and hotfix requirements for that.<\/li>\n<\/ol>\n<p>I had various bizarre errors on the way to getting the tool working. I posted about it on the appropriate technet forum, so if you&#8217;ve come here looking for answers you may well have seen this already: <a href=\"http:\/\/forums.microsoft.com\/TechNet\/ShowPost.aspx?PostID=3937164&amp;SiteID=17\">http:\/\/forums.microsoft.com\/TechNet\/ShowPost.aspx?PostID=3937164&amp;SiteID=17<\/a><\/p>\n<h3>The GUI<\/h3>\n<p>..is hopeless, don&#8217;t even bother. Here are the scripts I wrote to get the mailboxes migrated, and set some full access permissions.<\/p>\n<p><a href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=220\">add_users.ps1<\/a><br \/>\n<a href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=215\">add_rooms.ps1<\/a><br \/>\n<a href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=222\">mbox_perms.ps1<\/a><\/p>\n<h3>The Mailbox\u00c2\u00a0Migration<\/h3>\n<p>After realising how slow the migration would be (15 mins for a 500MB mailbox) I made a plan to do a pre-migration on a thursday and friday, followed by an incremental migration (just the mail arrived since thursday morning) on the Sunday. The mail routing was changed on friday afternoon, at close of business.<\/p>\n<p>The biggest problem I had with the migration itself was that it stopped working after a period of time. Once this error started appearing:<\/p>\n<pre>An item has failed property validation and will be ignored.\r\nIdentifier: (Name: <em>item name<\/em>)\r\nError details:Required property is empty.\r\nProperty:TargetServer..<\/pre>\n<p align=\"left\">then it was all over for that session. I would have to shut down the Transporter Command Tool and start all over again. This meant I had to babysit the entire migration, rather than what I&#8217;d hoped to do &#8211; ie., leave it\u00c2\u00a0running as a batch job.<\/p>\n<h3>Failures<\/h3>\n<p align=\"left\">The failure rate seemed to be around 0.1-0.2% &#8211; doesn&#8217;t sound too bad, but in a mailbox of 15,000 items this could equate to 30 items left behind. I had to spend a lot of time trawling the logs to manually produce a report for each user\u00c2\u00a0listing the unmigrated items. If any were important the user was oblidged to go into Notes, find the item, and forward it to themselves. I expect that this would be completely unacceptable in\u00c2\u00a0many environments.<\/p>\n<p align=\"left\">The encrypted messages were expected to fail, and I think this would be the case with the 3rd party utilities as well, but\u00c2\u00a0how to explain the ones where\u00c2\u00a0the error was\u00c2\u00a0simply &#8220;could not create item&#8221;? There were some other errors which may or may not have been associated,\u00c2\u00a0saying &#8220;type must be specified for non-SMTP addresses&#8221; &#8211; however I could find no way to specify the type, and the messages themselves didn&#8217;t appear to be any different from others that were migrated successfully.<\/p>\n<p align=\"left\">There is also a problem with reoccuring calendar items.\u00c2\u00a0 If you&#8217;re going to use this tool, make sure you warn your users that they will probably need to recreate their reoccuring events.<\/p>\n<h3>Transaction Log Files<\/h3>\n<p>Another gotcha was the huge growth in transaction log files when pumping this much data into the Exchange server. A full backup followed by incremental backups every 15 minutes (no, really) kept the situation under control.<\/p>\n<h3>Address Book Migration<\/h3>\n<p>I managed the\u00c2\u00a0shared address book migration by exporting to a csv file and then creating contacts in AD using a couple of scripts. As usual one method was not enough &#8211; the powershell cmdlet New-MailContact won&#8217;t work if the contact doesn&#8217;t have an email address &#8211; however it is perfectly possible to create non-mail contacts manually or with vbscript.<\/p>\n<p><a href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=211\">add_contacts.ps1<\/a><br \/>\n<a href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=213\">add_contacts_noemail.vbs<\/a><\/p>\n<p>The personal address books were migrated using the Transporter. Initially I thought that part was pretty good &#8211; however it turned out the user&#8217;s personal distribution lists did not get migrated, and for some users this was a real problem. I thought to use something like <a href=\"http:\/\/knicksmith.blogspot.com\/2007\/04\/script-importing-address-books-into.html\" target=\"_blank\">this script<\/a>\u00c2\u00a0to create the lists from a PST, but in the end time was too short, and some poor mug had to create them by hand.<\/p>\n<p>But not before running into <a href=\"http:\/\/support.microsoft.com\/kb\/238569\" target=\"_blank\">this Outlook restriction<\/a>.<\/p>\n<h3>In summary<\/h3>\n<p align=\"left\">It was all harder and buggier than I expected, with absolutely no documentation on the various error messages encountered &#8211; however I did get there in the end, with only a little bloodshed. I might use the Transporter again for a small, low-key migration &#8211; but for anything larger, time sensitive, or involving a co-existance phase, I will strongly recommend using a <a href=\"http:\/\/www.microsoft.com\/exchange\/partners\/2007\/notes.mspx\">3rd party utility<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have just\u00c2\u00a0completed what initially sounded like\u00c2\u00a0a fairly straight-forward project &#8211; install Exchange 2007 and migrate 35 mailboxes from Lotus Notes. The migration would be one-shot &#8211; so no need for a coexistance phase. Such a small migration didn&#8217;t seem to warrant the purchase of Quest or Transend &#8211; and besides, the Microsoft recommendation is&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[26,39],"tags":[],"class_list":["post-208","post","type-post","status-publish","format-standard","hentry","category-exchange2007","category-lotusnotes"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-3m","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/comments?post=208"}],"version-history":[{"count":9,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/208\/revisions"}],"predecessor-version":[{"id":227,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/208\/revisions\/227"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}