Migration

Part 5: Migrating Resources Mailboxes, Mail-In databases and Groups

Part 5: Migrating Resources Mailboxes, Mail-In databases and Groups

Published: 2013-08-07
Updated: –
Version: 1.0

This post will focus on migrating Groups, Mail-In databases and Resources from Domino/Notes migration to Exchange On-premise or Office 365.

Before going into any details, if you are planning to do a migration from Domino and want to use Dell Software’s Notes Migrator for Exchange, it is important to mention that there is a requirement from the vendor to use certified people for the project.

This blog post is based on Notes Migration for Exchange version 4.7.0.82.

Read the other parts:
Part 1: Migrations – Overview
Part 2: Prerequisites for Domino/Notes migrations
Part 3: Migrating Domino/Notes to Exchange 2013 On-premise
Part 4: Migrating Domino/Notes to Office 365
Part 6: Prerequisites for Coexistence between Domino and Exchange 2013/Office 365
Part 7: Configuring Quest Coexistence Manager for Notes with Exchange 2013 On-premise
Part 8: Configuring Quest Coexistence Manager for Notes with Office 365
Part 9: Prerequisites for Quest Migration Manager
Part 10: Migrating User Mailboxes from Exchange 2003 to Exchange 2013 using Migration Manager
Part 11: Migrating User Mailboxes from Exchange On-premise to Office 365

Installation Notes Migrator for Exchange (NME)

The installation is a regular next/next/finish installation. During the first startup it will ask for a license file, so provide an appropriate license and the application will start.

The installation and configuration instructions can be found at:
http://www.testlabs.se/blog/?p=680

Creating batches/collections

Creating batches of Groups is done through “Group Collections – Manage” and the “New collection…” option.

image

Creating batches of mail-in databases and resources works the same way, following the steps below.
Users are migrated based in batches (or collections), these batches are created through “User Collections – Manage” and pressing “New collection…”.

image

Provide a collection name and label (label is not required). Labels can be very helpful when looking for a particular batch after creating many collections.

image

Designating users for each batch can be done either by finding them in the directory (i.e. NME database) or by importing from a TSV file. In this example, I select from the directory because I am only selecting one user. In other cases, the TSV import may be useful.

image

As demonstrated below, I search for a user with a Display Name that starts with Jonas. Type the desired characters in the value field, press “Add” button. You can add multiple criteria to the search filter if desired and press “Find now” when ready.

image

The results will be shown in the search result section. Select the desired user(s) and press “OK”. The user is then added into the batch.

image

For illustration, the picture below shows a collection of Groups.

image

Migration finalization / switch / routing

Updating routing for groups, mail-in databases and resources works almost the same as user routing.

Migrations are accomplished by switching the routing and migrating the contents.
NME will configure the objects with appropriate forwarding settings to ensure Domino can route email to Exchange for this specified forwarding domain.

See section Notes from the field for configuring Domino mail routing.

Before any changes are made, it’s good to have insight of how the objects look in Domino Administrator. See the pictures below. For more information about the objects, an LDAP browser can be used.
I recommend Softerra LDAP Browser 4.5.

Rooms

image

Room100 – Restricted room “specific people”, can only be booked by the listed people.

image

Room101 – “Owner only”, only owners are allowed to book the room, others requires owner approval.

image

Room102 – No restrictions

image

See the picture below for total summary of the Domino restriction settings (source: Dell Software: Pre-migration planning guide).

image

Room switching / routing / migration

From “User Collections – Migrate User Data”, select the migration batch by pressing the arrow and choosing the desired batch. When selected, press “Migrate…”

image

Select “Manage mail routing” and press “Next”.

image

Select “Exchange” and “Quest Coexistence Manager for Notes” with “Using ActiveMail processing”.
This will configure the associated Domino object with a forwarding address.

image

Calendar domain: Exchange” (this is used during Freebusy coexistence, discussed in coexistence post)
”Set server running qcalcon: dominoserver/dominodomain” (specify the server that have Qcalcon installed)
”Specify your Domino domain: dominodomain” (specify your Domino domain)

Check “Set mail forwarding address”
”Forwarding mail domain: exchange.testlabs.se” (Domino need to route mails to this SMTP domain)
Select ”Append Domino domain to forwarding address”
”Overwrite existing mail forwarding address: Always

Then press “Next”.

image

If Exchange mailboxes have forwarding/targetAddresses configured, these can be removed using this option as well. In my test case, I don’t have these configured, so I will let them be unchecked. Press “Next”.

image

When switching (routing) mailboxes, with sufficient hardware, I typically run this operation with at least 20 threads (simultaneous processes). However, in this scenario it is being performed on a couple of mailboxes, so I left it with 1 thread. Press “Next”.

image

A summary is shown, press “Next”.

image

The operation can be scheduled but, in my case, I want to run it now. Press “Next”.

image

The operation starts…

image

…and it was completed. Press “Exit”.

image

When the operation is complete, you can verify that the object in Domino directory has been updated.
Note that the Forwarding address (known as “mailaddress”) now is configured, the Mail system (known as “mailsystem”) is configured to Other Internet Mail (has a value of “5”) and Domain value has been deleted.

Migrating data

Since the mail routing is complete and new mail will route directly to the Exchange mailbox, it’s time to migrate the data.

One thing to keep in mind before starting the migration, is verifying the mailboxes were created with the correct mailbox type. In this scenario it should be created as “Room Mailbox”. This can be verified by running the PowerShell command:

Get-Mailbox room* | ft DisplayName,Resourcetype –Autosize

If they were listed as User Mailboxes for some reason, they could easily be changed to Room Mailboxes by running the PowerShell command:

Get-Mailbox room* | Set-Mailbox –Type Room

Similarly, for Mail-In databases to Shared Mailboxes, verify they are listed as shared mailboxes. If needed, change the type by running the PowerShell command:

Get-Mailbox mail-in-databases* | Set-Mailbox –Type Shared

Before the migration, one of the target mailboxes had 1 item and a total of 4 kb. All others had zero items, shown in the picture below. Using PowerShell command:

Get-Mailbox room* | Get-MailboxStatistics | ft displayname,itemcount,totalitemsize –Autosize

image

Go to “User Collections – Migrate User Data”, select the migration batch and press “Migrate…”

image

Select “Migrate mailbox data”, press “Next”.

image

In this scenario, I didn’t use the notification options. However, these can be helpful for letting users know that they are migrated and should start to use Outlook instead of Notes. Press “Next”.

image

Select the data types you wish to migrate. I decide not to migrate Trash and the Archive. Everything else will get migrated. Press “Next”.

image

Select the preferred conversion method for DocLinks. For this example, I used “Notes .NDL attachment (requires Notes client to use after migration)”. Press “Next”.

image

Select “Through Domino server(s)”, press “Next”.

image

Select “Server-based mailbox”, press “Next”.

image

In my scenario, I want to migrate everything, but the filtering options can be very useful in projects that might require migrating (or pre-migrating) a subset by date or size.

After selecting the appropriate settings, press “Next”.

image

When migrating mailbox data, I commonly run it with 8-12 threads (simultaneous processes).

You will need to determine the setting that is best in your environment. This is normally done before or during the pilot phase of the project to ensure the optimal configuration is ready for production migrations.

In this scenario, I am just migrating three resources so I leave it with 1 thread. Press “Next”.

image

A summary is shown, press “Next”.

image

I want to start the migration now. However, if that’s not the case, you have the opportunity to schedule it.

Press “Next”.

image

The operation starts…

image

…during the operation…

image

…operation completed. Press “Exit”.

image

For this example, the migration throughput rates are low because we migrated a couple of test mailboxes with a small sampling of data. As you scale your migrations to include additional mailboxes and threads, much higher throughput rates will be achieved. This was done in a lab environment using slow disks and small amount of memory.

When the migration is completed, I recommend comparing item counts and mailbox sizes, but you will need to account for data compression differences between Domino and Exchange.

I’ve seen differences between 20-35% depending on the circumstances. This means a Notes mail file of 1 GB may be 1,35 GB in Exchange. However, this is just a rule of thumb and needs to be estimated with actual data from each project since every customer is unique.

Verify the item count and mail data size by using the same PowerShell command:

Get-Mailbox room* | Get-MailboxStatistics | ft displayname,itemcount,totalitemsize –Autosize

The picture below shows that there are now a total of 5 items and 17 kb of data in the mailboxes.

image

Group migrations

We created one Group collection/batch at the beginning of this article.

For illustration the two Groups will be migrated into Active Directory (AD) / Exchange. The first group, called “Finance”, is a Multi-purpose group (could be compared with Security Group in AD) that could not only be used for mail but also controlling permissions.

image

image

The second group called “Marketing”, is Mail-only group, which could be compared to a Distribution Group/List in Exchange and is only used for distribution mails.

image

image

Let’s start the provisioning process within “Group Collections – Provision”. Select the desired group collection and press “Provision groups…”

image

Verify the Group Type for the collection and the path are correct. Also, verify the container for external contacts is correct. Check the option “Keep groups in sync with corresponding Notes groups”, this option will make sure that the group is updated with the correct members. Press Next.

image

image

A summary is shown, press Next.

image

I want to run the task Now, press Next.

image

The result is shown. Press Exit.

image

Groups were created successfully in the correct OU.

image

Verify the members are correct. Looks fine…

image

image

The owner/manager (ManagedBy) is also migrated over.

image

image

If groups are updated in Domino on a regular basis and they need to be maintained in AD/Exchange, a scheduled job could be created to automate this process. Information about how to create a scheduled job can found in the Administration Guide of NME included with the software.

Permissions / Delegation / Restrictions during migrations

The following quote from the User Guide regarding migration of delegated users outlines

the prerequisites quite well for getting the delegates over to Exchange.

The permissions on normal Domino mailboxes are migrated IF the prerequisites above are fulfilled.

I would like to recommend investigating both the Resources and the Mail-In databases regarding restrictions, who has permissions to book and who is the owner before starting the migration. This can either be done in Domino or using an analyzer tool, like MessageStats.

Changes regarding migration of delegates have been made in the last version of NME (version 4.7.0.82). These optional variables has been added and could be used, more information can be found in the release notes for NME.

[Exchange]

MigrateResourceDelegation=<#>

GrantResourceOwnerFullAccess=<#>

MigrateMailInDBOwner=<#>

Notes from the field

Dell Software – MessageStats – The tool can be of great value for analyzing and investigating environments before starting migrations. More information is available here: http://www.quest.com/messagestats/

Domino SMTP routing – This can be difficult to understand if you haven’t been working with Domino or been involved in any migration projects before. I posted an article about coexistence that goes through the configuration steps: http://www.testlabs.se/blog/?p=1042

Proxy server – One thing that can be a potential issue during migrations is proxy servers. I recommend avoiding them as much as possible. If you can avoid them you will most likely save yourself some issues that might occur if a proxy server is used. These tend to block or throttle traffic, the impact can be either that the migration throughput will be very low or that it will prohibit the traffic from reaching its destination.

Creating batches/collections – If you are involved in larger migration projects, you likely won’t want to find each user manually. As an alternative, you can search by a Domino Directory value that is unique to each migration batch.

Another method for adding users to the batch is using TSV files. If you choose this approach, Excel will become your best friend.

Pre-stage/Delta migration consideration – In cases where it’s possible, I recommend starting the migration right away after the pilot has been approved. This means that the mailbox data can be migrated over/synchronized before the actual migration must take place. By pre-staging data, the mailbox switch/routing can be done fast and finally the mailbox delta data (differences) can be migrated. This can minimize the “migration time”. By this, I mean the time that the end-users are impacted in some way or another.

One thing to keep in mind if using this method is that as soon as a mailbox is created in Exchange, the Free/Busy requests from other Exchange users sent to this newly created user won’t be sent back to Domino (where the most current data remains and action should take place).

I have requested a feature from Microsoft that would make the “forwarding” of Free/Busy requests possible, but haven’t heard anything back from them yet. It would be great if that could be solved, probably easily by using targetAddress attribute together with a new attribute, for ex. forwardfbreq set to either 0 (default) or 1.

Don’t hesitate to comment if you would like to add anything or if you have other experiences, I will add it into the post and link your blog.

Next post will be published after the holidays, in the meanwhile enjoy the vacations stay tuned after summer for new publications, we I start of with Coexistence Manager for Notes.

Part 4: Migrating Domino/Notes to Office 365

Part 4: Migrating Domino/Notes to Office 365

Published: 2013-07-03
Updated: –
Version: 1.0

This post will focus on migrating from Domino/Notes migration to Office 365.

Before going into any details, if you are planning to do a migration from Domino and want to use Dell Software’s Notes Migrator for Exchange, it is important to mention that there is a requirement from the vendor to use certified people for the project.

This blog post is based on Notes Migration for Exchange version 4.7.0.82.

If you would like to read the other parts:
Part 1: Migrations – Overview
Part 2: Prerequisites for Domino/Notes migrations
Part 3: Migrating Domino/Notes to Exchange 2013 On-premise
Part 5: Migrating Resources Mailboxes, Mail-In databases and Groups
Part 6: Prerequisites for Coexistence between Domino and Exchange 2013/Office 365
Part 7: Configuring Quest Coexistence Manager for Notes with Exchange 2013 On-premise
Part 8: Configuring Quest Coexistence Manager for Notes with Office 365
Part 9: Prerequisites for Quest Migration Manager
Part 10: Migrating User Mailboxes from Exchange 2003 to Exchange 2013 using Migration Manager
Part 11: Migrating User Mailboxes from Exchange On-premise to Office 365

Installation Notes Migrator for Exchange (NME)

The installation is a regular next/next/finish installation. During the first startup it will ask for a license file, so provide an appropriate license and the application will start.

The installation and configuration instructions can be found at:
http://www.testlabs.se/blog/?p=680

Creating batches/collections

Users are migrated based on batches (or collections), these batches are created from “User Collections – Manage” and by pressing “New collection…”

image

Give the collection a name and label (label is not required). Labels can be of great help if looking for a particular batch after creating many collections.

image

Choosing which users should reside in the batch can be done either by finding them in the directory (i.e. NME database) or by importing them from a TSV file. In this example, I chose find them from the directory because I only select one user. In other cases the TSV import can be useful.

image

As demonstrated below, I search for a user with a Display Name that starts with Jonas. Type the desired characters in the value field, press “Add” button. You can add multiple criteria to the search filter if desired and press “Find now” when ready.

image

The results will be shown in the search result section. Select the desired user(s) and press “OK”. The user is then added into the batch.

image

Migration finalization / switch / routing

When migration batches/collections have been created we are ready to start the migration.

It is basically done by switching the mailbox and migrating the contents.
NME will configure the Domino person document with appropriate forwarding settings to ensure Domino can route email to Exchange for this specified forwarding domain.

See section Notes from the field for how to configure Domino mail routing.

Before any changes are made, the mailbox properties typically looks like the picture below.
It has an Internet Address (same as email addresses in Exchange i.e. SMTP).

image

Go to “User Collections – Migrate User Data”, select the migration batch by pressing the arrow and choosing the correct batch. When selected, press “Migrate…”

image

Select “Manage mail routing” and press “Next”.

image

Select “Exchange” and “Quest Coexistence Manager for Notes” with “Using ActiveMail processing”.
This for configuring the Domino mailbox with a forwarding address.

image

Calendar domain: Exchange” (this is used during Freebusy coexistence, discussed in coexistence post)
”Set server running qcalcon: DominoServer/DominoDomain” (specify the server that have Qcalcon installed)
”Specify your Domino domain: DominoDomain” (specify your Domino domain)

Check “Set mail forwarding address”
”Forwarding mail domain: testlabstrial.onmicrosoft.com” (Domino need to route mails to this SMTP domain)
Check ”Append Domino domain to forwarding address”
”Overwrite existing mail forwarding address: Always

Then press “Next”.

image

If Exchange mailboxes have forwarding/targetAddresses configured, these can be removed by using this option. In my case I don’t have these configured, so I will let them be unchecked. Press “Next”.

image

When switching (routing) mailboxes, with sufficient hardware, I typically run this operation with at least 20 threads (simultaneous processes). However, in this scenario it is being performed on a single mailbox, so I left it with 1 thread. Press “Next”.

image

A summary is shown, press “Next”.

image

The operation can be scheduled but, in my case, I want to run it now. Press “Next”.

image

The operation starts…

image

…and it was completed. Press “Exit”.

image

When the operation is complete, look at the user in Domino directory, it is a bit different.
Note that the Forwarding address now is configured, the Mail system is configured to Other Internet Mail and Domain value is empty.

image

Migrating data

Since the mail routing is completed and all new mail will route directly to the Exchange mailbox, it’s time to migrate the data.

In Office 365 it’s not that easy to retrieve the mailbox statistics, Thomas Ashworth released a great script that retrieves the mailbox statistics. It can be found here: http://blogs.technet.com/b/thomas_ashworth/archive/2012/04/11/get-an-office-365-user-statistics-report.aspx

Verify the item count and mail data size by using the PowerShell command:

.\GetMsolUserReport.ps1

The picture below shows the output (CSV) from the script above, there are now 18 items and the mailbox holds 220 kb.

image

Go to “User Collections – Migrate User Data”, select the migration batch and press “Migrate…”

image

Select “Migrate mailbox data”, press “Next”.

image

In this scenario, I didn’t use the notification options. However, these can be helpful for letting users know that they are migrated and should start to use Outlook instead of Notes. Press “Next”.

image

Select data types you wish to migrate, I decide to not migrate Trash and the Archive. Everything else will get migrated. Press “Next”.

image

Select the preferred conversion method for DocLinks. For this example, I used “Notes .NDL attachment (requires Notes client to use after migration)”. Press “Next”.

image

Select “Through Domino server(s)”, press “Next”.

image

Select “Server-based mailbox”, press “Next”.

image

In my scenario I want to migrate everything, but the filtering options can be very useful in projects that might require to just migrate the last year’s contents and not attachments that are over 10 MB.

When you have select the appropriate settings, press “Next”.

image

When migrating mailbox data, I commonly run it with 8-12 threads (simultaneous processes).

You will need to determine the setting that is best in your environment. This is normally done before or during the pilot phase of the project to ensure the most optimal configuration is ready for production migrations.

In this scenario, I am migrating a single mailbox so I leave it with 1 thread. Press “Next”.

image

A summary is shown, press “Next”.

image

I want to start the migration now. However, if that’s not the case, you have the opportunity to schedule it here.

Press “Next”.

image

The operation starts…

image

…during the operation…

image

…operation completed. Press “Exit”.

image

For this example, the migration throughput rates are low because we migrated a single mailbox with a small data sample. As you scale your migrations to include additional mailboxes and threads, much higher throughput rates will be achieved. This was done in a lab environment using slow disks and small amount of memory.

When the migration is complete, it’s a good recommendation to compare item counts and mailbox size, but you will need to account for data compression differences between Domino and Exchange.

I’ve seen differences between 20-35% depending on the circumstances. This means a Notes mail file of 1 GB may be 1,35 GB in Exchange. However, this is just a rule of thumb and needs to be estimated with actual data from each project since every customer is unique.

Verify the item count and mail data size by using the same PowerShell script and command like before starting the migration:

.\GetMsolUserReport.ps1

The picture below shows that there are now 62 items and the mailbox holds 850 kb.

image

Alternatively, the Mailbox Comparison Report available in MessageStats can be used compare the source and target data.

Notes from the field

Quotes from the Dell Software User Guide PDF to think about when migrating to Office 365.

Using Microsoft Online Services Directory Synchronization: Mark

this checkbox if you will use the Microsoft DirSync tool to copy the

contents of a local Active Directory to provision your Office 365

directory. Leave this checkbox unmarked if you will provision Office 365

by any other method.

Resolve attendees for [type] mail (two checkboxes, available only

for Office 365 target): Control whether NME will look up SMTP addresses in the Exchange GAL for users referenced in server data and/or archives to link to the Active Directory objects. These options are both enabled by default, but either or both can be disabled

by unmarking the checkbox(es). For example, you should unmark a

checkbox to migrate data to PST files without connecting to the

Exchange server. Disabling the Resolve attendees function may increase

migration speed in some environments, but may cause lost free/busy

information and may introduce other issues in Outlook.

Office 365 throttling recommendations – Dell Software recommendations can be found at:

https://support.quest.com/SolutionDetail.aspx?id=SOL107856&pr=Notes Migrator for Exchange

https://support.quest.com/SolutionDetail.aspx?id=SOL104973&pr=Notes Migrator for Exchange

Domino SMTP routing – This can be difficult to understand if you haven’t been working with Domino or been involved in any migration projects before. I did post an article about coexistence that goes through the configuration steps, read it here: http://www.testlabs.se/blog/?p=1042

Proxy server – One thing that can be a potential issue during migrations is proxy servers. I recommend avoiding them as much as possible. If you can avoid them you will most likely save yourself some issues that might occur if a proxy server is used. These tend to block or throttle traffic, the impact can be either that the migration throughput will be very low or that it will prohibit the traffic from reaching its destination.

Creating batches/collections – If you are involved in larger migration projects, you likely won’t want to find each user manually. As an alternative, you can search by a Domino Directory value that is unique to each migration batch.

Another method for adding users to the batch is using TSV files. If you choose this approach, Excel will become your best friend.

Precopy/Delta migration consideration – In cases where it’s possible, I recommend starting the migration right away after the pilot has been approved. This means that the mailbox data can be migrated over/synchronized before the actual migration must take place. By pre-staging data, the mailbox switch/routing can be done fast and finally the mailbox delta data (differences) can be migrated. This can minimize the “migration time”. By this, I mean the time that the end-users are impacted in some way or another.

One thing to keep in mind if using this method is that as soon as a mailbox is created in Exchange, the Free/Busy requests from other Exchange users sent to this newly created user won’t be sent back to Domino (where the most current data remains and action should take place).

I have requested a feature from Microsoft that would make the “forwarding” of Free/Busy requests possible, but haven’t heard anything back from them yet. It would be great if that could be solved, probably easily by using targetAddress attribute together with a new attribute, for ex. forwardfbreq set to either 0 (default) or 1.

Read the other parts

Part 1: Migrations – Overview
Part 2: Prerequisites for Domino/Notes migrations
Part 3: Migrating Domino/Notes to Exchange 2013 On-premise
Part 5: Migrating Groups and Resources Mailboxes
Part 6: Prerequisites for Coexistence between Domino and Exchange 2013/Office 365
Part 7: Configuring Coexistence Manager for Notes with Exchange 2013 On-premise
Part 8: Configuring Coexistence Manager for Notes with Office 365
Part 9: Prerequisites for Migration Manager
Part 10: Migrating User Mailboxes from Exchange 2003 to Exchange 2013 using Migration Manager
Part 11: Migrating User Mailboxes from Exchange On-premise to Office 365

Feel free to comment the post, I hope you liked the information. If you find something that might be incorrect or you have other experiences, leave a comment so it can be updated.

Part 3: Migrating Domino/Notes to Exchange 2013 On-premise

Part 3: Migrating Domino/Notes to Exchange 2013 On-premise

Published: 2013-06-21
Updated: –
Version: 1.0

This post will focus on migrating Domino/Notes to Exchange 2013 On-premise.

Before going into any details, if you are planning to do a migration from Domino and want to use Dell Software’s Notes Migrator for Exchange, it is important to mention that there is a requirement from the vendor to use certified people for the project.

This blog post is based on Notes Migration for Exchange version 4.7.0.82.

If you would like to read the other parts see the section “See the other parts”

Installation Notes Migrator for Exchange (NME)

The installation is a regular next/next/finish installation. During the first startup it will ask for a license file, so provide an appropriate license and the application will start.

The installation and configuration instructions can be found at:
http://www.testlabs.se/blog/?p=680

Creating batches/collections

Users are migrated based on batches (or collections), these batches are created from “User Collections – Manage” and by pressing “New collection…”

image

Give the collection a name and label (label is not required). Labels can be of great help if looking for a particular batch after creating many collections.

image

Choosing which users that should reside in the batch can be done either by finding them in the directory (i.e. NME database) or by importing them from a TSV file. In this example, I chose find them from the directory because I only select one user. In other cases the TSV import can be useful.

image

As demonstrated below, I search for a user with a Display Name that starts with Jonas. Type the desired characters in the value field, press “Add” button. You can add multiple criteria to the search filter if desired and press “Find now” when ready.

image

The results will be shown in the search result section. Select the desired user(s) and press “OK”. The user is then added into the batch.

image

Migration finalization / switch / routing

When migration batches/collections have been created we are ready to start the migration.

It is basically done by switching the mailbox and migrating the contents.
NME will configure the Domino person document with appropriate forwarding settings to ensure Domino can route email to Exchange for this specified forwarding domain.

See section Notes from the field for how to configure Domino mail routing.

Before any changes are made, the mailbox properties typically looks like the picture below.
It has an Internet Address (same as email addresses in Exchange i.e. SMTP).

image

Go to “User Collections – Migrate User Data”, select the migration batch by pressing the arrow and choosing the correct batch. When selected, press “Migrate…”

image

Select “Manage mail routing” and press “Next”.

image

Select “Exchange” and “Quest Coexistence Manager for Notes” with “Using ActiveMail processing”.
This for configuring the Domino mailbox with a forwarding address.

image

Calendar domain: Exchange” (this is used during Freebusy coexistence, discussed in coexistence post)
”Set server running qcalcon: dominoserver/dominodomain” (specify the server that have Qcalcon installed)
”Specify your Domino domain: dominodomain” (specify your Domino domain)

Check “Set mail forwarding address”
”Forwarding mail domain: exchange.testlabs.se” (Domino need to route mails to this SMTP domain)
Check ”Append Domino domain to forwarding address”
”Overwrite existing mail forwarding address: Always

Then press “Next”.

image

If Exchange mailboxes have forwarding/targetAddresses configured, these can be removed by using this option. In my case I don’t have these configured, so I will let them be unchecked. Press “Next”.

image

When switching (routing) mailboxes, with sufficient hardware, I typically run this operation with at least 20 threads (simultaneous processes). However, in this scenario it is being performed on a single mailbox, so I left it with 1 thread. Press “Next”.

image

A summary is shown, press “Next”.

image

The operation can be scheduled but, in my case, I want to run it now. Press “Next”.

image

The operation starts…

image

…and it was completed. Press “Exit”.

image

When the operation is complete, look at the user in Domino directory, it is a bit different.
Note that the Forwarding address now is configured, the Mail system is configured to Other Internet Mail and Domain value is empty.

image

Migrating data

Since the mail routing is completed and all new mail will route directly to the Exchange mailbox, it’s time to migrate the data.

Before the migration was started, the mailbox only had 4 items and a total of 254 kb, shown in the picture below. Using PowerShell command:

Get-MailboxStatistics jonand | ft displayname,itemcount,totalitemsize –Autosize

image

Go to “User Collections – Migrate User Data”, select the migration batch and press “Migrate…”

image

Select “Migrate mailbox data”, press “Next”.

image

In this scenario, I didn’t use the notification options. However, these can be helpful for letting users know that they are migrated and should start to use Outlook instead of Notes. Press “Next”.

image

Select data types you wish to migrate, I decide to not migrate Trash and the Archive. Everything else will get migrated. Press “Next”.

image

Select the preferred conversion method for DocLinks. For this example, I used “Notes .NDL attachment (requires Notes client to use after migration)”. Press “Next”.

image

Select “Through Domino server(s)”, press “Next”.

image

Select “Server-based mailbox”, press “Next”.

image

In my scenario I want to migrate everything, but the filtering options can be very useful in projects that might require to just migrate the last year’s contents and not attachments that are over 10 MB.

When you have select the appropriate settings, press “Next”.

image

When migrating mailbox data, I commonly run it with 8-12 threads (simultaneous processes).

You will need to determine the setting that is best in your environment. This is normally done before or during the pilot phase of the project to ensure the most optimal configuration is ready for production migrations.

In this scenario, I am migrating a single mailbox so I leave it with 1 thread. Press “Next”.

image

A summary is shown, press “Next”.

image

I want to start the migration now. However, if that’s not the case, you have the opportunity to schedule it here.

Press “Next”.

image

The operation starts…

image

…during the operation…

image

…operation completed. Press “Exit”.

image

For this example, the migration throughput rates are low because we migrated a single mailbox with a small sampling of data. As you scale your migrations to include additional mailboxes and threads, much higher throughput rates will be achieved. This was done in a lab environment using slow disks and small amount of memory.

When the migration is completed, it’s a good recommendation to compare item counts and mailbox size, but you will need to account for data compression differences between Domino and Exchange.

I’ve seen differences between 20-35% depending on the circumstances. This means a Notes mail file of 1 GB may be 1,35 GB in Exchange. However, this is just a rule of thumb and needs to be estimated with actual data from each project since every customer is unique.

Verify the item count and mail data size by using the same PowerShell command:

Get-MailboxStatistics jonand | ft displayname,itemcount,totalitemsize –Autosize

The picture below shows that there are now 51 items and the mailbox holds 886 kb.

image

Notes from the field

Domino SMTP routing – This can be difficult to understand if you haven’t been working with Domino or been involved in any migration projects before. I did post an article about coexistence that goes through the configuration steps, read it here: http://www.testlabs.se/blog/?p=1042

Proxy server – One thing that can be a potential issue during migrations is proxy servers. I recommend avoiding them as much as possible. If you can avoid them you will most likely save yourself some issues that might occur if a proxy server is used. These tend to block or throttle traffic, the impact can be either that the migration throughput will be very low or that it will prohibit the traffic from reaching its destination.

Creating batches/collections – If you are involved in larger migration projects, you likely won’t want to find each user manually. As an alternative, you can search by a Domino Directory value that is unique to each migration batch.

Another method for adding users to the batch is using TSV files. If you choose this approach, Excel will become your best friend.

Precopy/Delta migration consideration – In cases where it’s possible, I recommend starting the migration right away after the pilot has been approved. This means that the mailbox data can be migrated over/synchronized before the actual migration must take place. By pre-staging data, the mailbox switch/routing can be done fast and finally the mailbox delta data (differences) can be migrated. This can minimize the “migration time”. By this, I mean the time that the end-users are impacted in some way or another.

One thing to keep in mind if using this method is that as soon as a mailbox is created in Exchange, the Free/Busy requests from other Exchange users sent to this newly created user won’t be sent back to Domino (where the most current data remains and action should take place).

I have requested a feature from Microsoft that would make the “forwarding” of Free/Busy requests possible, but haven’t heard anything back from them yet. It would be great if that could be solved, probably easily by using targetAddress attribute together with a new attribute, for ex. forwardfbreq set to either 0 (default) or 1.

Read the other parts

Part 1: Migrations – Overview
Part 2: Prerequisites for Domino/Notes migrations
Part 4: Migrating Domino/Notes to Office 365
Part 5: Migrating Resources Mailboxes, Mail-In databases and Groups
Part 6: Prerequisites for Coexistence between Domino and Exchange 2013/Office 365
Part 7: Configuring Quest Coexistence Manager for Notes with Exchange 2013 On-premise
Part 8: Configuring Quest Coexistence Manager for Notes with Office 365
Part 9: Prerequisites for Quest Migration Manager
Part 10: Migrating User Mailboxes from Exchange 2003 to Exchange 2013 using Migration Manager
Part 11: Migrating User Mailboxes from Exchange On-premise to Office 365

Feel free to comment the post, I hope you liked the information. If you find something that might be incorrect or you have other experiences, leave a comment so it can be updated.

Part 2: Prerequisites for Domino/Notes migrations

Part 2: Prerequisites for Domino/Notes migrations

Published: 2013-06-06
Updated: –
Version: 1.0

This post will focus on having the technical prerequisites ready and in place for a successful Domino/Notes migration.

Before going into any details, if you are planning to do a migration from Domino and want to use Dell Software’s Notes Migrator for Exchange, it is important to mention that there is a requirement from the vendor to use certified people for the project.

If you would like to read the other parts, see the end section of post

Migration Accounts

I recommend using three accounts, one with Domino permissions, one with Active Directory (AD) permissions and one with Exchange permissions.

Domino

The Domino account should be Manager for all .NSF files (database files), Editor on the NAB (names.nsf) and Reader on all users archive files.
Username example: Quest Migrator/DominoDomain

This is done by following the steps below:

Create a new migration account in People & Groups, select the directory and People.
On the right hand side, press People – Register. Fill in a proper name, I typically create an account called Quest Migrator as shown in the example below. Finally, press Register.

image

To configure the permissions on the NAB (directory), go to Files and select the directory (names.nsf), right click, choose Access Control and Manage. Add the account by browsing for it, give it the User type: Person and the Access: Editor. (see picture below)

image

The final step is granting the Quest Migrator/dominodomain account Manager permissions on all NSF files that will be migrated. Go to Files and select the folder where the NSF files are located. Right click and choose Access Control and Manage. Add the account by browsing for it, give it the User type: Person and the Access: Manager. (see picture below)

image

Active Directory

For the AD account, it’s recommended to be a member of “Domain Admins”. However, this is not a requirement, because delegated permissions can be used. The important aspect is that the AD account have “Full Control” over the OUs where user objects are located. The AD account also needs to be a member of “View-Only Organization Management”. If using the provision feature within Notes Migrator for Exchange (NME), the AD account needs to have “Full Control” over the OU where the contact objects are located as well.

This account also needs to have Remote PowerShell enabled, use the command:

“Set-User ”SA-NME” –RemotePowerShellEnabled $True”

Username example: Domain\SA-NME

Migration User

This user is not used for logging on interactively. The important aspect with this user is that it has the correct permissions on the Mailbox Databases. Configure the databases so that the account has Receive-As permissions, this can be done by using the command below:

”Get-Mailboxdatabase | Add-Adpermission -user “SA-MIG” -extendedrights Receive-As”

Username example: Domain\SA-MIG

Office 365 account

Most permissions are done automatically by NME but you must manually set account impersonation. This is done by using the command below:

New-ManagementRoleAssignment -Role "ApplicationImpersonation" –User SA-MIG

More information about the migration performance and throttling can be found by reading the provided link in the end of this post.

Throttling Policies and Windows Remote Management

Another thing to keep in mind is the configuration of the Throttling Policies and the Windows Remote Management.

If you are migrating to Exchange 2010, make sure to configure the Throttling Policy according to the configuration below.

“New-ThrottlingPolicy Migration”
“Set-throttlingpolicy Migration -RCAMaxConcurrency $null -RCAPercentTimeInAD $null `
-RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null”
“Set-Mailbox “SA-MIG” -ThrottlingPolicy Migration”

Also make sure to configure the Windows Remote Management with the following settings.

“winrm set winrm/config/winrs '@{MaxShellsPerUser="150"}'”
“winrm set winrm/config/winrs '@{MaxConcurrentUsers="100"}'”
“winrm set winrm/config/winrs '@{MaxProcessesPerShell="150"}'”
“winrm set winrm/config/winrs '@{AllowRemoteShellAccess="true"}'”
“set-executionpolicy unrestricted”

If you are migrating to Exchange 2013, the throttling policies have been changed. Create a new throttling policy and assign it to the migration mailbox “SA-MIG”.

“New-ThrottlingPolicy Migration -RCAMaxConcurrency Unlimited -EWSMaxConcurrency Unlimited”
”Set-Mailbox “SA-MIG” -ThrottlingPolicy Migration”
SQL Server

Notes Migrator for Exchange leverages SQL for saving user information (and much more).

The Native Client needs to be installed together with SQL Server 2005 or SQL Express 2005, or newer.

I do prefer running at least SQL 2008 R2 and I would recommend using the SQL Server instead of the Express version, since you have more flexibility of creating maintenance jobs for example.

A little heads up if you are about to run a large migration, make sure to take full backups of the NME40DB so that you have a copy of it, if anything happens and also for having the logs truncated.

In smaller migration projects the SQL Express version works fine, I would still recommend taking full backup of the database or dumping it to a .bak file and then backup the .bak file.

Configure the account “Domain\SA-NME” as DBCreator, for allowing it to create the NME40DB during the setup of Notes Migrator for Exchange.

Lotus Notes client

I would recommend you to use the latest Lotus Notes client. In my last projects I’ve been using version 8.5.3 Basic or Normal client.

An important thing to never forget is to install Lotus Notes in single user mode.

.NET Framework 4

Make sure to install the .NET Framework 4 since this is a prerequisite for NME. I would recommend upgrading it to the latest service pack level.

Antivirus

If Antivirus is installed, make sure all Quest folders and %temp% are excluded from any Antivirus scans. If not it may result in slower performance and potential disruption of migrated content.

Most likely, there will be a mail gateway of some kind in the environment which takes care of the antispam. In those situations, antivirus and antispam are already addressed in the Domino environment.

On the target side, Exchange probably has antivirus and antispam solution installed as a second layer protection to the Transport services.

As a result, I have not encountered any problems when  excluding a couple of folders for the migration from scanning process.

Outlook

Outlook 2007, 2010 and 2013 are all supported. I’ve been using Outlook 2010 in all my projects and it have been working very well.

Configure Outlook with the “SA-MIG” account, since this is the account that will insert migrated content into the Exchange mailboxes using the Receive-As permission.

I’ve been learned to create and configure a Outlook profile using the SA-MIG account. Make sure to configure it for not using the cached-mode.

However, in theory, a profile should not need to be created in advance, because NME creates temporary profiles during the migration. However, this step shouldn’t hurt anything either.

User Account Control (UAC)

It’s recommended to disable UAC on all migration servers.

This is done in the Control Panel under User Accounts, Change User Account Control settings.

Make sure to set it to “Never notify” and then restart the sever.

Data Execution Prevention (DEP)

It’s highly recommended to disable DEP, so make sure to do that.

If you’re using Windows 2008 R2 like I do, then you disable DEP by running:

"bcdedit /set nx AlwaysOff"

Also, make sure to restart the server when this is done to allow it to take effect.

Local administrator

If you choose to delegate the permissions instead of using the Domain Admin group for the SA-NME account, then it is required to add the SA-NME account into the local administrators group.

Regional Settings

During the migration, the folder names (Inbox, Inkorgen etc.) are created based on the regional settings on the migration console.

So, for example, if you are migrating a UK/English mailbox, make sure to configure the regional settings to match this and for example, if migrating a Swedish mailbox, set it to match the Swedish locale settings.

With this said, I would recommend migrating users using the same language at the same time. And then change the regional settings on the migration console and continue with another region.

Office 365 Prerequisites

Migrating to Office 365 is like a normal migration, besides the target is a cloud service which can be a bit special.

There are two requirements that needs to be fulfilled on the migration servers before starting the migration to Office 365. Install the following (select the one that suits your operation system):

MSOL Sign-in Assistant:

32 bit

64 bit

MSOL Module for Windows PowerShell:

32 bit

64 bit
The Admin Account Pooling Utility (AAPU) is used for getting better throughput performance. The AAPU tool provides a workaround by using different migration accounts for each migration thread, instead of having one migration account with a throttling limit, you could have ten migration accounts which would give 10 migration threads in total. You can have up to 10000 migration accounts (NME 4.7.0.82).

If you are going to use the AAPU, you should add the parameter below into the NME Global Defaults or Task Parameters.

[Exchange]

O365UsageLocation=<xx>

http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm

For NME 4.7.0.82 the following text is stated in the release notes (always read them!):

Office 365 Wave 15 Throttling: NME has been updated to better address the PowerShell Runspace throttling introduced in O365 Wave 15. In order to efficiently proceed with migrations to Wave 15, the tenant admin must submit a request through Microsoft to ease the PowerShell throttling restrictions. The tenant admin must open a service request with Microsoft and reference “Bemis Article: 2835021.” The Microsoft Product Group will need this information:

  • tenant domain (tenant.onmicrosoft.com)
  • version of Exchange (in this case, for Wave 15)
  • number of mailboxes to be migrated
  • number of concurrent admin accounts to be used for the migration
  • number of concurrent threads to be used
  • number of Runspaces to be created per minute*
  • proposed limit (powershellMaxTenantRunspaces, powershellMaxConcurrency, etc.), and the number to which to increase the limit*

* For the last two items in this list, the tenant admin should take the total number of threads across all migration machines and add a buffer, because it is difficult to predict the timing of the Runspace initiation. It is best to assume that all potential Runspaces could be created within a minute, so the values for both items should probably both be submitted as the total number.

More information about migration performance and throttling can be found by reading the provided link at the end of this post.

Network Ports
Port In/Out Type Source Target Description
1352 Out Domino Quest NME servers All Domino mail serversDomino Qcalcon server Domino/Notes client (migration)
445 Out NetBIOS/SMB Quest NME servers All Domino mail serversDomino Qcalcon serverQuest NME master server Microsoft-DS/NetBIOS traffic for Migration. For reaching SMB shares. Note: Not required, but recommended.
389 Out LDAP Quest NME servers Active Directory DC server(s) LDAP
3268 Out LDAP GC Quest NME servers Active Directory DC server(s) LDAP Global Catalog
1025-65535 Out High-ports Quest NME servers Active Directory DC server(s)Exchange server(s) High-ports(differs depending on version)
1433 Out Microsoft SQL Quest NME servers Quest NME master server For reaching SQL DB
443 Out HTTPS Quest NME servers Office 365 Transferring migration content
Notes from the field

Network Monitoring or Wireshark may sometimes be your best friend during troubleshooting network connectivity.

Portqry is another tool that could be of great value during initial network verification.

Read through the release notes and the User Guide (PDF), it is included within the NME zip file. All information is collected into that document.

Office 365 Migration Performance and throttling information

Read the other parts

Part 1: Migrations – Overview
Part 3: Migrating Domino/Notes to Exchange 2013 On-premise
Part 4: Migrating Domino/Notes to Office 365
Part 5: Migrating Resources Mailboxes, Mail-In databases and Groups
Part 6: Prerequisites for Coexistence between Domino and Exchange 2013/Office 365
Part 7: Configuring Coexistence Manager for Notes with Exchange 2013 On-premise
Part 8: Configuring Coexistence Manager for Notes with Office 365
Part 9: Prerequisites for Quest Migration Manager
Part 10: Migrating User Mailboxes from Exchange 2003 to Exchange 2013 using Migration Manager
Part 11: Migrating User Mailboxes from Exchange On-premise to Office 365

Feel free to comment the post, I hope you liked the information. If you find something that might be incorrect/other experiences, leave a comment so it can be updated.

Migration Preparation script

Migration Preparation script

This script idea came up after being involved in a migration project.

Published: 2013-05-22
Updated: 2013-05-24
Version: 1.1

It’s purpose with this script is for getting Quest Migration Manager (QMM) being able to match objects between domains. In a scenario with one-way trust and not being able to use Quest Migration Manager AD or any other tool for providing the SIDHistory into the AD objects. Users, mailboxes and mail contacts are already created, where the contacts are used for having a global address list (GAL) object they can send emails to.

Using QMM you can match by Username, Mailaddress or SIDHistory. In my case the username differs and the SIDHistory is not available (not allowed being copied into the target AD).

I created four different functions within this script, one called “Export-SourceInformation”, which should be used in the source environment. It will export the information from the source regarding Name, DisplayName, PrimarySmtpAddress, RecipientTypeDetails and save it into a CSV file called “users.csv”.

Then bring the CSV file into the target environment. This CSV file should be used as a control file if you don’t want to run all users at the same time (run some tests before running all of them in one batch).
I would recommend a couple of smaller batches for testing the functions before deploying it in full scale.

There is a function called “Verify-TargetInformation”, which uses the CSV file called “users.csv” and retrieves the Name and PrimarySmtpAddress for each object in the CSV file.

Another function is called “Set-SourceAddress”, this part takes care of the target account.
It uses the file called “users.csv” and checks whether there are any contacts for these mailboxes, if there are the mail contact will be deleted and the mailbox forward settings will be removed together with making sure that the mailbox is showed in the GAL. But before any changes are done, the current configuration for both the mail contact and the mailbox object are being saved into a CSV file called “targetinformation.csv”.

Last but not least, the function called “Rollback-TargetInformation” is used for putting back the PrimarySmtpAddress to the value that it was prior to the change, this by using the CSV file “targetinformation.csv”. When the Directory Synchronization have successfully matched the mailboxes this function should be runned for having back the correct information.

You can use this for free, without any guarantee or warranty and at your own risk.
Feel free to post about it, just make sure to link my blog and blogpost.

Download the script

##################################################################################### 
# Filename: Migration-Preparation-testlabs.ps1  
# Description: 
# This PowerShell script exports information, configures objects and prepares for 
# Quest Migration Manager EX Directory Synchronization 
# 
# Usage: Import-Module Migration-Preparation-testlabs.ps1 
# Start with importing the module, then Starting function: Export-SourceInformation; 
# Set-SourceAddress; Rollback-TargetInformation; Verify-TargetInformation 
# 
# Version: 1.1
#
# Changelog:
# v1.1 - Introduced LegacyExchangeDN - X500 preparation
#
# Jonas Andersson, MCC 2011 & 2012 
# http://www.testlabs.se/blog 
# Twitter @jonand82 
#####################################################################################

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction SilentlyContinue
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin -ErrorAction SilentlyContinue

## Exporting the SMTP information from Source mailboxes 
Function Export-SourceInformation(){ 

    $filename = "users.csv" 

    $users = Get-Mailbox -resultsize unlimited | Select Name,DisplayName,PrimarySmtpAddress,RecipientTypeDetails,LegacyExchangeDN
    $users | Export-CSV $filename -notype -Encoding Unicode 

}

## Changing Target mailboxes to Source PrimarySmtpAddress for QMM to match on it 
Function Set-SourceAddress(){ 

    $data = Import-CSV .\users.csv 
    $filename = "targetinformation.csv" 

    ## Saving Target Information into CSV file before changing 
    $MasterList = @() 
    Foreach($t in $data) 
    { 
        $str = $t.displayname 
        $MyObject = New-Object PSObject -Property @{ 

        Name = (Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").Name 
        DisplayName = (Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").DisplayName 
        PrimarySmtpAddress = (Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").PrimarySmtpAddress 
        RecipientTypeDetails = (Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").RecipientTypeDetails 
        Email = ((Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").EmailAddresses -Join ";") 
        DeliverToMailboxAndForward = (Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").DeliverToMailboxAndForward 
        ForwardingAddress = (Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").ForwardingAddress 
        ForwardingSmtpAddress = (Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").ForwardingSmtpAddress 
        HiddenFromAddressListsEnabled = (Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").HiddenFromAddressListsEnabled 
        LegacyExchangeDN = (Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'").LegacyExchangeDN
        ContactName = (Get-MailContact -resultsize unlimited -Filter "DisplayName -like '*$str*'").Name 
        ContactDisplayName = (Get-MailContact -resultsize unlimited -Filter "DisplayName -like '*$str*'").DisplayName 
        ContactPrimarySmtpAddress = (Get-MailContact -resultsize unlimited -Filter "DisplayName -like '*$str*'").PrimarySmtpAddress 
        ContactEmail = ((Get-MailContact -resultsize unlimited -Filter "DisplayName -like '*$str*'").EmailAddresses -Join ";") 
        ContactExternalEmailAddress = (Get-MailContact -resultsize unlimited -Filter "DisplayName -like '*$str*'").ExternalEmailAddress 
        ContactHiddenFromAddressListsEnabled = (Get-MailContact -resultsize unlimited -Filter "DisplayName -like '*$str*'").HiddenFromAddressListsEnabled

        } 

        $MasterList += $MyObject 
    } 

    $MasterList | Export-Csv $filename -NoTypeInformation -Encoding Unicode 
    Write-Host "Information is saved into the CSV file: $filename" -ForegroundColor White 

    Foreach($i in $data) 
    { 
        $str = $i.displayname 

        ## Removing mail contacts for Source users 
        $c = Get-MailContact -resultsize unlimited -Filter "DisplayName -like '*$str*'" 
        Write-Host $c -ForegroundColor Yellow 

        ## Multiple matching, no changes will be done 
        if ($c.count -ge 1) 
        { 
            Write-Host "ERROR: Multiple matching" 
            Write-Host "Matches: $c.count" 
            return 
        } 

        ## Unique contact found, removing it 
        if ($c.count -eq $null) 
        { 
            Write-Host "Unique matching: $c" 
            Write-Host "Removing the mail contact object for: $c" 

            Remove-MailContact -Identity $c -Confirm:$false 

        } 

        ## Starting the configuration for Target Mailboxes 
        $u = Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'" 

        Write-Host $u -ForegroundColor Yellow 

        ## Multiple matching, no changes made 
        if ($u.count -ge 1) 
        { 
            Write-Host "ERROR: Multiple matching" 
            Write-Host "Matches: $u.count" 
            return 
        } 

        ## Setting the Source PrimarySmtpAddress on the Target Mailboxes 
        if ($u.count -eq $null) 
        { 
            Write-Host "Unique matching: $u" 
            Write-Host "Setting Source SMTP as PrimaryAddress for matching using QMM" 
            Write-Host "Configuring the mailbox for showing up in GAL and remove the forwarding configuration"
            Write-Host "Adding the LegacyExchangeDN as X500 for Outlook auto-complete cache"
 

            $email = $i.PrimarySmtpAddress
            $x500 = $i.LegacyExchangeDN

            Set-Mailbox -Identity $u -ForwardingAddress $null -DeliverToMailboxAndForward:$false -HiddenFromAddressListsEnabled:$false -PrimarySmtpAddress $email -EmailAddressPolicyEnabled:$false 

            $ProxyAddresses = (Get-Mailbox -Identity $u).EmailAddresses
            $ProxyAddresses += [Microsoft.Exchange.Data.CustomProxyAddress]("X500:$x500")
            Set-Mailbox -Identity $u -EmailAddresses $ProxyAddresses
        } 

        else 
        { 
            Write-Host "No match" 
            return 
        } 

    } 

    Write-Host "" 
    Write-Host "#################################################################" -ForegroundColor White 
    Write-Host "# First run the Verify-TargetInformation..                        #" -ForegroundColor White 
    Write-Host "# Start the QMM Synchronization for matching Source <-> Target  #" -ForegroundColor White 
    Write-Host "# Finally run the Rollback-TargetInformation when sync is done  #" -ForegroundColor White 
    Write-Host "#################################################################" -ForegroundColor White 
    Write-Host "" 
}

## Rollback of Target PrimarySmtpAddress 
Function Rollback-TargetInformation(){ 

    $data = Import-CSV .\targetinformation.csv 

    $MasterList = @() 
    Foreach($i in $data) 
    { 

        $str = $i.displayname 
        $user = Get-Mailbox -resultsize unlimited -Filter "DisplayName -like '*$str*'" 

        ## Predicts there is only one @testlabs.se address 
        $pri = Get-Mailbox -Identity $user | Select-Object -ExpandProperty EmailAddresses | Where-Object {$_.SmtpAddress -like '*@testlabs.se'} | Select-Object SmtpAddress 
        $adr = $pri.SmtpAddress 

        Write-Host "Configuring mailbox: $user with adress: $adr" -ForegroundColor White 
        Set-Mailbox -Identity $user -PrimarySmtpAddress $adr -EmailAddressPolicyEnabled:$False 

    } 

}

## Verifying the Target PrimarySmtpAddress 
Function Verify-TargetInformation(){

    $data = Import-CSV .\users.csv 

    $filetime = (get-date -format yyyyMMddhhmm) 
    $filename = "verify-$filetime.csv" 
    $MasterList = @() 

    ## Verifying the PrimarySmtpAddress 
    Foreach($i in $data) 
    { 

        $MyObject = New-Object PSObject -Property @{ 

            Name = (Get-Mailbox -Identity $i.PrimarySmtpAddress).Name 
            PrimarySmtpAddress = (Get-Mailbox -Identity $i.PrimarySmtpAddress).PrimarySmtpAddress 
            Database = (Get-Mailbox -Identity $i.PrimarySmtpAddress).Database
            EmailAddresses = ((Get-Mailbox -Identity $i.PrimarySmtpAddress).EmailAddresses -Join ";") 
        } 

        $MasterList += $MyObject 

    } 

    $MasterList | Export-Csv $filename -NoTypeInformation -Encoding Unicode 
    Import-CSV $filename 

    Write-Host "" 
    Write-Host "SMTP Verification is saved into the CSV file: $filename" -ForegroundColor White 
    Write-Host "" 
}
Part 1: Migrations – overview

Part 1: Migrations – overview

This will be a collection of posts, regarding migrations in general in the first post will digging deeper in the following posts.

Published: 2013-05-09
Updated: 2013-05-15
Version: 1.1

Thanks for the great input and feedback: Hakim Taoussi and Magnus Göransson

Part 1: Overview

I will try to keep the first post not technical since this is more common sense then anything else.
In short I want to summarize some key takeaways and recommendation to stick with, explaining them a bit more in detail below.

  • Planning
  • Information & communication
  • Pilot migrations
  • End-user training
  • Experience
  • Minimize the coexistence time
Planning

Some of you might think that… well of course we are planning. But sometimes I hear people that spend like 10-15% of their total project time for planning. I would recommend you to rethink if that’s the case, and suggest that you maybe should spend at least 50% of the time for it, maybe even more (in large projects).

What I mean with planning is to create a detailed migration plan, this should of course include estimations regarding how many users can be migrated per hour, how much data can be transferred per hour.
Basically what this means is that the planning phase should be used for planning and verifying that everything is in place and works like it’s expected to do.

For example, in the official guide from Quest Software when migrating from Domino to Exchange they calculate of 5GB/hour/migration server during good conditions. In the real world I’ve seen throughput of 20GB/h/server. With this said, it all depends… (the consultants favorite phrase) This is one of those things that needs to be tested and verified before creating a detailed migration plan, for doing a good estimation.

Don’t forget to verify that the target environment have enough capacity, servers and storage.

Other questions that needs clear answers can be;
How is users and mailboxes provisioned?
During the migration, where should new mailboxes be created?
Is there information in the user attributes that needs to be migrated from Domino into AD?
How will the migration process work?
What requirements are there?

So for the planning, think about all steps.

Information & Communication

With information I mean to inform everybody that’s involved in the project in one or another way.
This would include the helpdesk and support, since these are the projects closest friends for helping and taking care of incidents.

On the other hand we have the users themselves, here I’m talking about the end-users. If the migration will impact the users in a way they are not used to, remind to inform them a couple of weeks before they are going to be migrated, with a reminding notification a couple of days when the migration will take place.
During a transition from for example, Exchange 2007 to Exchange 2010, there won’t be much impact on the users, it’s more a data transfer and updating a couple of attributes in the directory so the impact is very small. In those transition projects (it depends on the customer requirements) the needs for user reminders is not that big as the migration projects. But keep in mind, it’s better they get too much information than too little.

In large projects it’s a recommendation to place the information on public places like the restroom and the lunch room. Also inform the people on every place that’s possible, intranet, mail, letter, meeting and so on.

In short I want to say the obvious, if the information is lacking or poor, the experience from the end-user perspective will be poor. In the end this give the result of a failed project, at least from a user perspective.

Pilot migrations

From the projects I’ve been a part of I’ve learnt lots of things and gained experience. One of these things is to have a good pilot, I would recommend to divide the pilot into 3 parts.

Part 1 is the “Technical Pilot”, this would include the closest project members and/or only technical people that can handle issues and problems when they occur.
Part 2 is the “Pilot 1” and this would include at least 10 users, spread throughout the organization, the more spread they are the better value would the pilot have.
Part 3 is called “Pilot 2”, this is started when the “Pilot 1” phase is completed and the evaluations are done. Maybe some tweaking needs to be done before starting this stage (if there were issues and errors).
In “Pilot 2” should at least 50 people be included throughout the organization, this last Pilot phase is used for solving any issues that occurred in previous stages, this for minimizing the impact when the real migration phase will take place.

The numbers above is just examples, but might be good examples for a environment with a couple of thousand users.

Before starting with “Pilot 2” the whole migration process, how object get provisioned should be well documented. It would be a recommendation to have it documented even in the “Technical Pre-Pilot”, but my experience tells me that things are changing and somewhere during “Pilot 1” the processes are getting tested and documented.

End-user training

As this is mentioned, in some cases it might not be needed, for instance if the moved users still keeps the same Outlook client version and the impact is very low. As we all know things are changing over time with new versions and if the user used for example Outlook 2003 with Windows XP and will be upgraded to Windows 7 and Outlook 2013, there might be a reason for giving the users a training session and some documents with instructions on how things work in the new version.

If the users are migrated for example from Domino/Notes to Exchange/Outlook I would strongly recommend having training sessions were the users can attend and also bringing instructions on how things differs between Notes and Outlook, and how Outlook should be used for booking a meeting, sending a mail etc.

This for making sure that the users gets a good experience and can handle the new tools.

Minimize the coexistence time

I’m not writing this because of lack due to products out there or the functions of them.

But I’m writing this bullet for having a smoother and easier understanding, mostly for the helpdesk and the end-users. During a coexistence (freebusy/mail flow/directory synchronization) time it can be hard to troubleshoot and isolate incidents and problems. Another good reason for minimizing the coexistence time is regarding all shared resources, by minimizing the coexistence time you will reduce the impact for the end-users. So for minimizing these hours spent on troubleshooting and the work effort everyone need to put in, I would recommend to keep the coexistence time as short as it can be, without impacting the experience or business in a bad way.

In short I would say, if things are working. Keep up a good pace for having a short coexistence time!

Experience

Last but not least, I would recommend you to select careful what project members are selected or which company that runs these kind of projects. It’s very important that they have the full understanding of what needs to be done and what impact it has for everyone involved but also the business itself.

If using Quest Software, they have a requirement of using certified people for designing, installing and configuring their products. This for making sure that the result will be good and that everyone should be satisfied with it. I’m not sure about other vendors but I think they have something similar to this model.

Read more
Part 2: Prerequisites for Domino/Notes migrations
Part 3: Migrating Domino/Notes to Exchange 2013 On-premise
Part 4: Migrating User Mailboxes from Domino/Notes to Office 365
Part 5: Migrating Resources Mailboxes, Mail-In databases and Groups
Part 6: Prerequisites for Coexistence between Domino and Exchange 2013/Office 365
Part 7: Configuring Coexistence Manager for Notes with Exchange 2013 On-Premise
Part 8: Configuring Coexistence Manager for Notes with Office 365
Part 9: Prerequisites for Migration Manager
Part 10: Migrating User Mailboxes from Exchange 2003 to Exchange 2013 using Migration Manager
Part 11: Migrating User Mailboxes from Exchange On-Premise to Office 365

I hope these key takeaways gave you some good insight and some things to think about.
I would be happy to hear your comments/feedback this post.

The plan is to post a new article every second week, keep your eyes open

Regards,
Jonas

DirSync between Domino and Exchange 2010

 

Published: 2011-04-19
Updated: –
Version: 1.0

Since this is included with Coexistence Manager for Notes from version 3.0 and above it was released very late last year (2010).
The version I’m using in the lab is 3.0.2 and is currently the latest version when this blog post is released.

Below are some known issues that are fixed in version 3.0.2.

Known Issues in the CMN Directory Connector:

#140661 SMTP addresses that contain a space within a quoted string, such as “Wilbur Jones”@domain.com, are not supported in this release of the Directory Connector.
The addresses must be corrected (remove the space).
#139586 The Directory Connector Configurator creates a folder for each defined Connector (under …\Directory Connector\Tools\Connections) to store Connector-specific
information. The Remove feature does not remove this corresponding Connector folder.

 

More information about Coexistence Manager for Notes can be found here.
I don’t deal with license questions, these can be handled directly by Quest, just send them an email on: info@quest.com.

When downloading the trial version of the product there are some PDF’s with valuable information included, make sure you read
through them if you’re going to use the product(s). There are also some videos about DirSync included

  • Configuring LDAP
  • Domino to Exchange DirSync
  • Exchange to Domino DirSync

If you’re reading this post I suppose you already know what CMN DirSync provides, this post is based on basic knowledge of the product.

Any form of feedback on the article would be nice, good as bad.

Infrastructure Setup

 

This is an overview of my Infrastructure in this setup.

Installation

 

Prerequisites

  • Microsoft .NET Framework 4.0
  • An account for synchronization that have access for creating objects in each directory’s

 

Configuration

 

The first thing to do is to install the license; it’s done by starting “Quest Coexistence Manager for Notes Configurator”. Go to Common -> Licenses and browse for the license file.

Directory Synchronization (Domino -> Exchange)

 

For creating a DirSync connector, go to “Connector Settings” and pressing Add.

Start with typing in a friendly name for the Connector.
Mine is called “Domino to Exchange” and Direction: Notes to Exchange.
Press Next.

Typing in the credentials for Source server:

Server: domino
Username: system/target
Password: ****
Port: 389

Typing in credentials for Target directory (Active Directory)

Target Server: server02 (DC)
Username: Administrator
Password: ****
Port: 389

I want to synchronize “Users & Contacts” from O=taget (Organization).

Select a Target OU for the objects to be placed into, also specify the Exchange part of the sub-domain,
in my case it’s domino.target.local and the check “Notes Migrator for Exchange compatibility mode” so the objects not get duplicated.

Facts from Quest PDF:

Notes Migrator for Exchange compatibility mode: If this checkbox is marked, the Connector will merge any processed object from the source
that matches (by proxyaddresses) an existing object in the target. For each processed object from the source, the Connector will search the
entire target directory (all containers) for any merged object with the same proxyaddress. If this checkbox is not marked,
the Note: The values you enter for Notes Calendar domain, Notes Domain and Server Running QCALCON are merged with the AD source data
that is pushed into Notes. There are no comparable fields for this data in Active Directory. If you later change the value of any of these fields,
it will appear that the source data has changed, although nothing has actually changed in AD.

Quest Coexistence Manager for Notes 3.0 Directory Connector will compare its source objects to the target objects, and will copy only new
source objects into the target. Note: This feature is intended to find and eliminate duplicate objects (same proxyaddresses), and thereby
help prevent directory looping—which proliferates duplicate objects by copying them back and forth.

Quest therefore recommends that you enable this feature (mark the checkbox) unless you have a particular strategic reason not to.
If you experience Connector errors that appear due to duplicate objects, or if you just want to learn more about duplicate objects,
see Connector Errors Due to Duplicate Objects in the Troubleshooting Appendix of this User Guide.
This checkbox must be marked if you will use Quest’s CMN Free/Busy Connector.

Note Also: When using NME compatibility mode with a Notes-to-Exchange Connector (only), some admins report that Domino updates
sometimes do not arrive in Active Directory. This is actually a system latency issue rather than a CMN process bug. In some environments
the Domino changes simply take a few seconds to propagate to the Notes LDAP service, and therefore may be missed if the Connector is
run too soon after the updates are entered in Domino. The Connector will succeed, however, if you wait a minute or two after the last of the
Domino updates before running the Connector.


Since there is no existing connector, it cannot be selected.

Scheduling settings, I choose to synchronize Daily at 1 AM. Press Add.

These users below are located in Domino as mail-users and will be synchronized into Active Directory.

Right clicking the connector and make sure it runs and then validate if any objects have been created.
In my case they are located under DirSync OU and looks like the picture below.

The first impressive tells me that it haven’t synchronized everything since 2 objects are missing.
BUT, they already have a mailbox with that proxyaddress so we have now validated the function for Notes Migrator for Exchange compatibility mode.

Directory Synchronization (AD/Exchange -> Domino)

 

For creating a DirSync connector, go to “Connector Settings” and pressing Add.

Start with typing in a friendly name for the Connector.
Mine is called “Exchange to Domino” and Direction: Exchange to Notes.
Press Next.

Typing in credentials for Source directory (Active Directory)

Target Server: server02 (DC)
Username: target\administrator
Password: ****
Port: 3268

Typing in the credentials for Source server:

Server: domino
Username: system/target
Password: ****
Port: 389

I want to synchronize “Users & Contacts” from OU=Migrated..

Domino target information

Exchange Internal Routing Domain: exch.target.local
Notes Calendar domain: Exchange
Notes Domain: target
Server running QCALCON: domino

And check the NME compatibility mode

I choose to not make any kind of order management setting on my DirSync connectors.

Scheduling settings, I choose to synchronize Daily at 2 AM. Press Add.
Then the DirSync in the other direction is finished and up-to-date.

Domino configuration

 

In case of objects should be synchronized from Exchange into Domino, Domino must be LDAP configured.

This is done by using Domino Administrator, select Configuration tab and Directory, LDAP and Settings.
Allow LDAP users write access: Yes

Then select, Save and Close and restart the Domino server.

Quest recommends that DirSync resides on a separate server.

For setting up CMN from Quest, it’s recommended to use a PSO (certified consultant)!

Feel free to give feedback on the article!

Coexistence between Domino and Exchange 2010 – Part 2 of 2

 

Published: 2011-01-05
Updated: 2011-01-16
Version: 1.1
Changelog: Exchange configuration added.

Let’s start from where we ended the last part the Domino configuration.
I hope everything was clear on the last part, if there are any questions about it feel free to give feedback or send me an email on:
Jonas.Andersson@testlabs.se.

DNS Infrastructure

 

In this part we start with the DNS investigation.
There needs to be created at least 2 additional records in the DNS zone for using of Exchange and CMN.

These are autodiscover and mail, in my environment I’m using mail, it could be owa or webmail or whatever you want it to be.

The important information here is that these names should be included into the certificate for the Exchange CAS server(s).
And that certificate is exported and imported into the CMN server as well.

Certificate installation

 

I’m not going to show how to create a CSR and Import and Export it.
There are already so many guides about that, check here for more information about that.

For creating a CSR in Exchange 2010, use this one:
http://www.digicert.com/csr-creation-microsoft-exchange-2010.htm

How to install the certificate when it have been processed use this one:
http://www.digicert.com/ssl-certificate-installation-microsoft-exchange-2010.htm

When the certificate has been installed on the Exchange server and the services have been assigned, it’s time to export it.
This is done by starting a MMC console, adding Certificates (Computer) and go to Personal/Certificates.

Right click the appropriate certificate and choose All Tasks/Export.
Export the private key and select the option “Include all certificates in the certification path if possible”.
Then set a password and copy the certificate file to the CMN machine.

The process for importing the certificate is almost the same, start a MMC console, adding Certificates (Computer)
and right click Personal and choose All Tasks/Import.

Browse for the certificate file and type in the password for it and make sure it’s placed in Personal.

In my case when it’s imported successfully it will look like this.

Check in IIS so that the bindings for port 443 (HTTPS) is using the imported certificate.

Exchange WebServices configuration

 

With DNS and the Certificates in place the keys to get everything to work are done.

Next thing to change from the default behavior on the Exchange CAS machine is to change the EWS.
This is done by running the following command:

“Set-WebServicesVirtualDirectory -Identity “EWS (Default Web Site)” -InternalUrl https://autodiscover.target.local/EWS/Service.asmx
-ExternalUrl https://autodiscover.target.local/EWS/Service.asmx”

Important is to double check the path for the asmx file on the CMN server, in my case this is the correct path.

Double check so the value has been modified by running:

“Get-WebServicesVirtualDirectory | fl *url*”

InternalUrl : https://autodiscover.target.local/EWS/Service.asmx
ExternalUrl : https://autodiscover.target.local/EWS/Service.asmx

When these settings are in place, let’s have a look at the authentication settings for EWS in IIS.
The setting for IIS authentication that should be enabled for the EWS is Anonymous authentication and Windows authentication.

AvailabilityAddressSpace setup

 

To be able to share F/B information between the systems, we need to configure the availabilityaddressspace.
This is done by adding the sub-domain that’s used for the Domino side.
The process is described in Part 1.

“Add-AvailabilityAddressSpace -ForestName domino.target.local -AccessMethod OrgWideFB -UseServiceAccount $true”

Prerequisites for Quest Coexistence Manager for Notes

 

Domino server

Supported versions of Lotus Domino are 6.5.1–6.5.6, or 7.0.0–7.0.4, or 8.0.0–8.0.2, or 8.5.0 or 8.5.1.

Exchange server

Supported versions of Exchange server are Exchange 2010, 2007, or 2007 SP1 or SP2

.NET Framework 3.5 SP1, IIS 7.0 with ASP.NET 2.0

Open up an elevated PowerShell prompt and run the below commands:

  • Import-Module ServerManager
  • Add-WindowsFeature NET-Framework,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,
    Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,
    NET-HTTP-Activation

 

Powershell 2.0

Powershell 2.0 is included in Windows Server 2008 R2.

Lotus Notes Client

Supported versions are 6.5.1–6.5.6, or 7.0.0–7.0.4, or 8.0.0–8.0.2, or 8.5.0 or 8.5.1.

  • Install Lotus Notes in Single User mode.
  • After the installation is complete, copy admin.id from C:\Program Files\Lotus\notes\data on the Domino server to
    C:\Program Files (x86)\lotus\notes\data on the CMN server.
  • Start and configure the Lotus Notes client.

     

Turn off UAC and Windows Firewall

To avoid complications during installation of Coexistence Manager for Notes and related components, turn off Windows Firewall and
User Account Control

Mailbox

We need to create a mailbox for CMN to use to be able to retrieve F/B information, the service
“Quest CMN Exchange Free/Busy Connector Service” should be using this account.

Installation of Quest Coexistence Manager for Notes

 

  • Start autorun.exe on the CMN CD and select the Install tab.
  • Click on “Coexistence Manager for Notes Mail Connector” to start the installation

     

  • Accept the license agreement and then choose default settings in the wizard.
  • Click Finish to complete the installation.

 

Coexistence Manager for Notes Free/Busy Connector

  • Start autorun.exe on the CMN CD and select the Install tab.
  • Click on the appropriate version (32 or 64 bit) of Coexistence Manager for Notes Free/Busy Connector.
  • Accept license agreement and click next
  • Deselect “Domino Server Components” on the “Custom Setup” screen and then click Next.

     

  • Review the Prerequisites screen and confirm all prerequisites are met and click install.
  • Complete the installation with Finish.

 

PowerGUI

  • Start autorun.exe on the CMN CD and select the Install tab.
  • Click on PowerGUI to start the installation.
  • Choose the default features and path.

     

Domino Server Components

  • On the Domino server start autorun.exe on the CMN CD and select the Install tab.
  • Click on the appropriate version (32 or 64 bit) of Coexistence Manager for Notes Free/Busy Connector.
  • Accept License Agreement and click next.
  • Deselect everything except “Domino Server Components”

     

     

  • Review the Prerequisites screen and confirm all prerequisites are met and click install.
  • Complete the installation with Finish.

 

Configuration of Quest Coexistance Manager for Notes

 

Exchange

To be able to send messages between the systems, a send connector needs to be created.
Create a Send connector that sends all messages with “@domino.target.local” to the CMN server.

Open Exchange Management Shell and run the following command.

“New-SendConnector -Name ‘To Coexistence Manager’ -AddressSpaces ‘SMTP:domino.target.local;1’ -DNSRoutingEnabled $false -SmartHosts ‘cmn.target.local’ -SmartHostAuthMechanism ‘None’ -UseExternalDNSServersEnabled $false -SourceTransportServers ‘SERVER03’ -MaxMessageSize ’50 MB'”

PowerGUI configure Web Services and Lotus Notes Components

  • Start PowerGUI from the Start Menu / All Programs / PowerGUI.
  • Select the “Configure Web Services and Lotus Notes Components” item on the left pane.

     

  • Click on Configuration Wizard in the Actions pane on the action panel.
  • Click next and type the SMTP domain target.local in the “SMTP Domain” screen. Also click the radio button for “autodiscover.target.local”

     

 

  • On the Domino Credentials screen enter the Domino server name, the path to the Admin.id file that was copied to the CMN server under the Lotus Notes client installation and the Administrator password and click next.

     

  • On the “Ready to configure” screen review the information entered and click next to configure the Configure Web Services and Lotus Notes Components.

     

    Make sure that the Domino Free/Buys Connector Service is started.

Configure Domino Server and Exchange Components.

 

  • Start PowerGUI from the Start Menu / All Programs / PowerGUI
  • Select the “Configure Domino Server and Exchange Components/Domino Server tasks” item on the left pane.

     

    Make sure the right path is typed in for qcalcon.exe.config file, in my case it’s:

    \\domino\c$\program files\lotus\domino\qcalcon.exe.config

    If everything looks correct it should show you something like this, information about Foreign domain.

  • Select the “Configure Domino Server and Exchange Components/Domino Server tasks” item on the left pane and choose “Configuration Wizard” on the action panel.

     

    In the beginning of the configuration wizard it will give information about the Foreign domain like below

  • Next settings that should be configured is typing in the URL for EWS (Exchange), https://mail.target.local/EWS/Exchange.asmx.
    Also enter the credentials of the CMN Free/Busy service account.

 

 

  • On the “Ready to configure” screen review the information entered and click next to configure the “Configure Domino Server and Exchange Components”.
  • Make sure that the Exchange Free/Busy Connector service is set to log on as the Free/Busy service account “Target\CMNFB” and then start the service.

     

 

Verify / Troubleshooting the function

 

Before doing anything, with my 2 users I’ve added meetings all week/workdays the whole morning 8-12 AM.

  • Start PowerGUI from the Start Menu / All Programs / PowerGUI x86
  • Select the “Diagnostics and Troubleshooting/Troubleshoot free/busy for Domino users” item on the left pane.

    I’m typing in the cmnfb account, password, verify that the EWS path is correct and typing in an Exchange emailaddress for verifying the
    F/B function.

    It seems to work very well!

 

  • Select the “Diagnostics and Troubleshooting/Troubleshoot free/busy for Exchange users” item on the left pane.

    Choose “Test free/busy through Domino” in the action panel.

    Make sure the Domino server name, id file, password and an email address that resides in Domino is typed in.
    Test and verify the function by pressing “Test” button to verify the function.

    It works from both ways! J

Time to verify it with Lotus Notes and Outlook 2010

From Lotus Notes, I’m trying to schedule a meeting from my Domino user to my Exchange user.
Let’s take the time I know that’s setup as BUSY, selecting the user and pressing the availability button.

This is the result, it shows the F/B between the systems.

On the other hand we have Outlook 2010.
Booking a meeting and selecting the contact for my Domino user, it takes some seconds before any information shows up.

Then it will show the F/B information, and I can confirm this is correct.
Domino by default is setting 12-13 as BUSY time.

QCALCON tasks

 

If there are any problems retrieving the F/B information from Lotus Notes to an Exchange user do the following steps.

On the Domino server, verify so that those 3 services have been installed and started.
This can be done in Domino Administrator and/or Notes.ini

They are named: QCALCON, QCALCON NOTESSCHEDGATEWAY, QCALCON LWPSCHEDGATEWAY
Open Domino server console and verify that there is 3 QCALCON tasks running (show tasks), if not use the LOAD command to start them. (LOAD QCALCON, LOAD QCALCON NOTESSCHEDGATEWAY and LOAD LWPSCHEDGATEWAY)

Exchange Configuration

To be able to use sub-domains between the systems, we need to configure the Exchange environment with some settings.

Accepted domains

The sub-domains need to be added into the Accepted Domains.
In my lab environment it looks like this:

Domino.target.local – Internal relay
exch.target.local – Authoritative

E-mail Address Policies

The exchange mailboxes that have recently been created and migrated from Domino needs both the target.local (primary)
and the exch.target.local (secondary) addresses for being able to receive mails when the sub-domains are in use.

Contact

For the users that have not yet been migrated there needs to be a contact with the following settings, ex. From my lab.
Primary: Jonas.Andersson@target.local
Secondary: Jonas.Andersson@domino.target.local
Secondary: Jonas.Andersson@exch.target.local

TargetAddress (forward): Jonas.Andersson@domino.target.local

Summary

 

For setting up CMN from Quest, it’s recommended to use a PSO (certified consultant)!

Feel free to give feedback on the article!
I hope this was interesting and informative, thanks for reading!

Coexistence between Domino and Exchange 2010 – Part 1 of 2

 

Published: 2011-01-03
Updated: 2011-04-19
Version: 1.2
Changelog: Minor changes have been done in the connection doc, smarthost removed and forwarding address added.

For what I’ve seen here is a very large gap that I want to cover, Neil Hobson wrote a very good article about Domino to Exchange 2007
with Transporter Suite. It can be found here.

Also Elan Shudnow wrote a nice article regarding Free/Busy, a little bit more deep-dive into it and how it works, it can be found here.

Both of those articles used Exchange 2007 with Public Folder, this is not my case so here are a bit differences.
In my case, I’m not using any native tools, since Microsoft decided to not support and update their Transporter Suite to fit Exchange 2010
it was up to 3rd part suppliers.

I’m using Quest’s Coexistence Manager for Notes and I haven’t found any great guide or information on a real-world scenario.
That’s why this article is born J

More information about Coexistence Manager for Notes can be found here.
I don’t deal with license questions, these can be handled directly by Quest, just send them an email on: info@quest.com.

I’ve decided to split this article into two parts, or else it will be very long.
These parts will cover SMTP routing and Free/Busy between the systems, the first part will cover the Infrastructure setup and Domino setup.
The second part will cover the CMN and Exchange configuration.
DirSync is not covered in neither of these parts.
Maybe I’ll write an article about that later if it would be of any interest?

Any form of feedback on the article would be nice, good as bad.

Infrastructure Setup

 

This is an overview of my Infrastructure in this setup.

And a little picture on the SMTP Routing mailflow setup and also here’s about the FreeBusy (F/B) information between the systems.
On the CMN server there’s a “connector” called QCalCon installed which handles the F/B between the systems, it sends and receives
the information between them like a collector. I will attach a picture about it below.

Here is some short information about the process (copied from Quest’s document “Free Busy connector user guide.pdf” and a little bit edited).
When Outlook requests free/busy information for Jonas, the following occurs:

1. Exchange resolves “target.local” through DNS. DNS has a zone called target.local which contains a host called
autodiscover.target.local. The host name must match the common name (of the certificate you requested) where
Coexistence Manager for Notes – Free/Busy Connector is installed.

Exchange connects to https://autodiscover.target.local/autodiscover/autodiscover.xml to query the location of the
Availability Web Service from which to receive free/busy information.

The Autodiscover Web Service returns the URL of the Availability Web Service where CMN Free/Busy Connector is installed.

2. Exchange requests free/busy information from this URL.

3. The Free/Busy Availability Web Service communicates with the Quest CMN Domino Free/Busy Connector Service to get free/busy
information. The Quest CMN Domino Free/Busy Connector Service configuration file is configured with Domino Server name,
Directory Server name, ID path, and secure password where your Domino server is installed.

4. The Quest CMN Domino Free/Busy Connector Service queries the Domino server for the free/busy information.

5. Jonas’s free/busy information is returned back to the Exchange server, where it is displayed to Klas.

When Lotus Notes requests free/busy information for Klas, the following occurs:

1. The Domino server requests free/busy information from QCALCON. QCALCON Domino Server Task is installed on the Domino server,
and configured to listen for “Exchange” calendar requests.

2. QCALCON communicates with the Quest CMN Exchange Free/Busy Connector Service to retrieve free/busy information.

3. The Quest CMN Exchange Free/Busy Connector Service retrieves free/busy information from Exchange using Exchange Web Services
(EWS) calls.

4. Klas’s free/busy information is returned back to the Domino server (through the Exchange Free/Busy Service and QCALCON),
where it is displayed to Jonas.

Domino configuration

 

The first thing to add when using sub-domains is to add the sub-domain into the global domain document.
It’s done in Configuration/Messaging/Domains and selecting the Global domain and choosing edit the domain.

In the field “Alternate Internet domain aliases:” there should be added the following domain in my setup:
“domino.target.local”

Next thing to configure and setup is the Foreign SMTP Domain, this is added in Configuration/Messaging/Domains.
Choose “Add domain” and type in the following information.

Domain type: Foreign SMTP Domain
Internet domain: exch.target.local
Domain name: ToExchange

Then it’s time to add the Foreign Domain to be able to have the Free/Busy information between the systems.
This is added in Configuration/Messaging/Domains by choosing “Add domain”.

Domain type: Foreign Domain
Foreign domain name: Exchange
Gateway server name: domino/target
Gateway mail file name: mail.box
Calendar server name: domino/target
Calendar system: Exchange

Next thing to add is a connection document, it’s done in Configuration/Messaging/Connections and by pressing “Add Connection”.
In this document, it needs to be filled with information like source server, source domain, destination server and domain, destination ip,
replication.

Connection type: SMTP
Source server: domino/target
Connect via: Direct connection

Usage priority: Normal
Destination server: cmn.target.local
Destination domain: ToExchange
Optional network address: 172.16.2.20

Replication task: Disabled
Schedule: It should run 24 hours per day

Since we have a matching connection document with the Foreign Domain document we don’t need the smarthost configured. This is deleted in this version, v1.1.

When a Domino user is migrated, the Calendar information will be changed, another value that’s changed it the Mail System,
it will be set to: Other Internet Mail, then Domino knows that it doesn’t have the responsible for the mailbox.
And another option that will be changed is the forwarding address will be changed, in my environment it will be:
Klas.Andersson@exch.target.local since we use exch and domino as coexistence sub-domains.

I will attach two pictures about this, the first one shows the Other Internet Mail settings and the other one shows the calendar information.

This part is completed, next part will cover the Exchange configuration and the CMN configuration.

For setting up CMN from Quest, it’s recommended to use a PSO (certified consultant)!

Feel free to give feedback on the article!
I hope this was interesting and informative, thanks for reading!

Quest MessageStats MAPI_E_FAILONEPROVIDER (8004011D)

 

I was getting an error when connecting to the Exchange Organization.

This is documented by Quest and is a bug and there is an official workaround until next release of QMS (hopefully).
The “KB” at Quest’s place is named “SOL67917”.

This error is happening when trying to connect to an Exchange 2010 Organization without Public Folder database
and the error message looks like below.

DESCRIPTIONMessageStats is unable to connect to an Exchange 2010 organization if that organization does not have at least one
Public Folder database. The error that is associated with the failed connection is MAPI_E_FAILONEPROVIDER (8004011D).

WORKAROUND

Please download the Hotfix called, MessageStats 6.8.1 Hotfix (TFS138271) for solution SOL67917 from: https://support.quest.com/Downloads.aspx?id=3416166&ver=MessageStats~6.8.1&productid=268435854&productversionid=268454124&category=Patches&SKB=1

Please follow the instructions included in the downloaded file to apply it.

STATUS

Issue resolved in hotfix

Load More