Transporter Directory Synchronisation between Exchange 2007 (2010) and Lotus Domino r8 (Part 1)
This post covers some of the challenges faced when using the Microsoft Transporter Suite to perform Directory Synchronisation (Synchronization for US citizens!) between Exchange 2007 and Lotus Domino (Lotus Notes), and then introducing a sub-domain routing topology during the migration period. Detailed technical documentation is hard to come by for this.
The version of Lotus Notes in my example is r8. I mention Exchange 2010 in the post title, as Microsoft current advise deploying certain Exchange 2007 technologies (eg- Transporter Suite) to facilitate a migration from Lotus Notes to Exchange 2010.
By following the detailed Transporter documentation (free download alongside the Transporter binaries) a basic Directory Synchronisation can be achieved, with Lotus Notes addresses represented in Active Directory, and Exchange addresses represented in Domino.
Things get interesting when you try and implement a sub-domain routing topology to allow for a single domain name-space to be used for both Domino and Exchange. For example, if CONTUSO.COM was being migrated from Domino to Exchange 2007, then best-practice dictates you implement Transporter Suite DirSync, an SMTP connector between the two environments, and route all inbound internet email via Exchange. Then start migrating mailboxes. This, of course, is trivialising a complex operation.
However, a key aspect of this situation is the ability to use sub-domains for email routing.
For emails from Exchange to Domino, you could use the namespace: @NOTES.CONTUSO.COM
For emails from Domino to Exchange, you could use the namespace: @EXCHANGE.CONTUSO.COM
There are two aspects to this:
1) Internet email needs to be go via Exchange to Domino. It would be great if we could get all Domino addresses into AD with an accurate relay address to get the emails onto Domino. In reality this is rarely the case, and to mitigate the issue, Exchange 2007 allows for an SMTP connector to forward all mail it cannot match to AD, onto a Smart Host (Domino). So no real issue here.
2) During the migration there will be users on both Domino and Exchange. The Exchange users need to be able to email Domino users from the Global Address Book (GAL). Therefore the Windows Contact objects need to contain a valid Target Address (relay) field.
This is where the main reason for this post appears….
The default Target Address generated by Transporter to represent a Domino user would be as follows:
Fred_Bloggs/CONTUSO%CONTUSO@notes.contuso.com
The problem is that the FULL NAME field in the Notes Person Record for this user = “Fred Bloggs”, with no underscore character. Mail to this address will not be delivered and generate a Non Delivery Report (NDR). Transporter has inserted the underscore character to replace the space character, as that is not valid in an SMTP address.
If your Domino environment is small, maybe you manually (or via an Agent) add an additional address for each user with the underscore. But if there is a large number of users this may not be possible.
All is not lost though. In the Transporter application Windows folder structure, there are a set of configuration files that are used by Transporter. This can be manipulated to help with this situation.
Typically the files are under c:\program files\microsoft transporter tools\config\connector\*
The file you are after is dominotoexchangerules.tbl
Backup all files in this folder before you start making any changes, and do all your tests in a lab environment before committing to production.
The section in the dominotoexchangerules.tbl file you need is:
Alias = ISEQUAL( Alias, “”, ISEQUAL( InetAddr, “”, SecALIAS, Strip( InetAddr, “@”, “L”, “R” ) ), Alias )
DispName = ISEQUAL( Resource, “”, X500( FullName, “CN” ), Strip( FullName, “;”, “L”, “R” ) )
Name = Strip( FullName, “;”, “L”, “R” )
LastName = ISEQUAL( LastName, “”, ISEQUAL( FirstName, “”, X500( FullName, “CN”), “” ) , LastName)
NOTESADDR = NotesLocal “@” MailDomain
TA = ISEQUAL( FwdAddr, “”, ISEQUAL( CFGPARM(“DominoSmtpDomain”), Strip( InetAddr, “@”, “L” ), InetAddr, ISEQUAL(SmtpLocal, “”, SmtpLocEsc, SmtpLocal) “%” MailDomain “@” CFGPARM(“DominoSmtpDomain”)), FwdAddr )
For details on the syntax used do a search on Google for “Exchange 2003 Lotus Notes Connector TBL”. The syntax used for Exchange 2007 is similar, but not the same.
The trick is to edit the file so it looks like this:
Alias = ISEQUAL( Alias, “”, ISEQUAL( InetAddr, “”, SecALIAS, Strip( InetAddr, “@”, “L”, “R” ) ), Alias )
DispName = ISEQUAL( Resource, “”, X500( FullName, “CN” ), Strip( FullName, “;”, “L”, “R” ) )
Name = Strip( FullName, “;”, “L”, “R” )
LastName = ISEQUAL( LastName, “”, ISEQUAL( FirstName, “”, X500( FullName, “CN”), “” ) , LastName)
NOTESADDR = NotesLocal “@” MailDomain
;TA = ISEQUAL( FwdAddr, “”, ISEQUAL( CFGPARM(“DominoSmtpDomain”), Strip( InetAddr, “@”, “L” ), InetAddr, ISEQUAL(SmtpLocal, “”, SmtpLocEsc, SmtpLocal) “%” MailDomain “@” CFGPARM(“DominoSmtpDomain”)), FwdAddr )
TA = Alias “@notes.contuso.com”
This has placed a semi-colon at the front of the original line starting with TA = , and then added a new line for this parameter, which will generate a Target Address using the Domino Alias field and the sub-domain used to route mail to Domino.
There is an entry in the GUI config of the Transporter to specify the Domino SMTP domain also – good idea to put in the same sub-domain value here. This is what was used to generate the default TA value, and is overridden by the change I suggest. However, I advise setting it anyway as a reference.
Once you have made the change, you need to remove all the Lotus Notes Windows Contacts from AD, restart the Transporter Directory Sync Windows Service, and force a Full Sync from Domino to Exchange.
(Don’t forget, you can always go back to the original configuration if this produces results you do not expect.)
In Exchange 2007 Management Console, check the Target Address fields after the Sync has completed. You should see the new format of <alias>@notes.contuso.com . This is now a valid Target Address for Domino user mailboxes.
The new Target Address for the example user will now be:
FBloggs@notes.contuso.com
This is Part 1 of a series of articles, as I do not cover how to get non-user mailboxes represented in AD, as not all Domino objects have an ALIAS field – such as Mail-IN Databases and Resources. There are many strategies to capture these, and I will cover them off in Part 2.
A useful tip could be to use my solution for user mailboxes, and then in AD, export the Windows Contacts to a .CSV file, then put back the dominotoexchangerules.tbl file to its default state. This will allow you to run DirSync for all objects again, but with the option of replacing the user mailbox Windows Contacts with the exported set.
Also, in Domino, separate Address Books could be setup for users, mail-in databases, resources etc, and have a Transporter Directory Connector for each Address Book, going into its own AD OU.
Exchange 2003 Restore After Exchange 2007
When migrating from Exchange 2003 to Exchange 2007, there is a high probability that you receive a request to restore a mailbox from before the migration.
How do you do this ? There are many ways you can retain some sort of Exchange 2003 infrastructure for restore purposes. This could involve a lab setup, or leaving all your Exchange 2003 production mailbox servers in operation.
The most efficient solution I have found involves a little know trick using ADSIEdit and GUID swapping. It will allow you to retain only one Exchange 2003 Server for your entire enterprise. The assumption is that your production tape silo is not available for the lab, so you have to maintain the Exchange 2003 footprint in production to do those restores.
It is vital that you have kept a record of which Exchange 2003 Mail Store every user was on before the migration. Use the CSVDE tool to achieve this via an export from Active Directory (be careful with this tool, and only do an export).
The trick is to run ADSIEdit on the legacy Exchange 2003 Server and follow the below procedure to replace the msExchOrigMDB value on the RSG with the distinguishedName value on the Exchange 2007 Mailbox Store where the user mailbox currently resides. Without doing this key step, ExMerge will not allow you to extract the mailbox contents to a PST, as it is expecting to find the user’s mailbox on the original legacy Mail Store.
Step 1:
After the mail migration, shrink down your Exchange 2003 environment so you have one of the mailbox servers left over. Ensure it maintains access to suitable disk/SAN/tape drive.
Step 2:
Find out user’s current Exchange 2007 Mailbox Server, Storage Group and Mailbox Store
Find out user’s legacy Exchange 2003 Mailbox Server, Storage Group and Mailbox Store
On the Exchange 2003 Server create a Recovery Storage Group(RSG) that links to the legacy Exchange 2003 Mail Store that the user mailbox used to be homed on.
Prepare your backup media so you are ready for the restore.
Step 3:
Follow this procedure:
- Start ADSI Edit.
- Locate the mailbox store that you moved the mailbox to. To do so, expand Configuration Container [YourServerName.YourDomainName.YourTopLevelDomain], expand CN=Configuration,DC=YourDomainName,DC=YourTopLevelDomain, expand CN=Services, expand CN=Microsoft Exchange, expand CN=YourOrganizationName, expand CN=Administrative Groups, expand CN=Your Administrative Group, where Your Administrative Group is the administrative group that contains the storage group that you want to modify), expand CN=Servers, expand CN=YourServerName, expand CN=InformationStore, and then click CN=YourStorageGroup.
- In the right pane, right-click the database object, and then click Properties.
- In the Select which properties to view list, click Both.
- In the Select a property to view list, click distinguishedName.
- Right-click the value that is in the Value(s) box, and then click Copy.
- Click Cancel.
- Locate and then click the Recovery Storage Group database object in the CN=Configuration,DC=YourDomainName,DC=YourTopLevelDomain container.
- In the right pane, right-click the Recovery Storage Group database object, and then click Properties.
- In the Select which properties to view list, click Both.
- In the Select a property to view list, click msExchOrigMDB.
- Click Clear.
- Right-click an empty area of the Edit Attributes box, and then click Paste.
- Click Set, and then click OK.
- Quit ADSI Edit.
Examples:
Example RSG msExchOrigMDB value before it is modified on Exchange 2003 Server
CN=StoreA,CN=SGA,CN=InformationStore,CN=2003SERVER,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=Exchange,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contuso,DC=com
Example RSG msExchOrigMDB value after it is modified on Exchange 2003 Server
CN=StoreZ,CN=SGZ,CN=InformationStore,CN=2007SERVER,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Exchange,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contuso,DC=com
ExMerge:
Then use ExMerge to extract the mailbox required to a PST file. Make sure the RSG is mounted. The original Exchange 2003 mail store also needs to be mounted, even though the ADSIEDIT change was made earlier. On the legacy Exchange 2003 server, make sure that the Mail Store containing the System Attendant Mailbox is also mounted.
Notes:
It will be possible to use the one Exchange 2003 Server to restore mailbox data that was originally homed on a different Exchange 2003 Server. As long as your backup software allows you to restore to an RSG on a different server then Microsoft support this scenario.
Exchange 2003 to 2007 Migration
I am just completing a major Exchange 2003 to Exchange 2007 migration. All mailboxes and services have just completed migrating. Exchange 2003 decom is now required – after remedial action is taken with Recipient Update Policies and Public Folders.
Website launch – new look
This the first blog entry on my new-look website – I hope you like the new look and content.
Lotus Notes r8 Migration to Exchange 2007
I am working on a Lotus Notes R8 migration to Exchange 2007 SP2 right now. This will involve using the Quest Notes Migrator to migrate the content to Microsoft Exchange 2007 CCR Mailbox Servers.
New content will be added to the website as I progress through this project.
The Design phase is due to start.