Office 365 Tenant to Tenant Migration: Project Online Migration

One of the common questions regarding Office 365 tenant migrations is: How do I migrate Project Online? In fact, this migration is not very different from usual SharePoint migration. The product, Project Online, is built on Project Web App (PWA) enabled SharePoint Online site. So, migration of the Project Online is as difficult as migration of SharePoint site. Obviously, if you are using any migration tools to perform such migration it should be capable of migrating PWA-features. One of great examples of the tools is ShareGate.

ShareGate states that PWA-enabled sites are not supported for migration in “site mode”, however it is still possible to migrate these type of sites. There are few prerequisites:

  • PWA-enabled site on target tenant must be create prior the migration.
  • Valid Project Online Premium license must be provisioned on source and target tenants to admin accounts planned to be used for the migration.
  • “Merge-mode” in ShareGate should be used for the site migration.

You still need properly plan migration of identities of the users, vanity domains and other Office 365 workloads like Exchange Online. If you have any concerns about this, just let us know – we are keen to provide you advice and guidance on it.

Office 365 Tenant to Tenant Migration: Domain removal techniques

Migration of domain(s) from one tenant to another in Office 365 is a central point of ‘preserve domain’ T2T migration type. This is step you want to make as quick as possible, because it is time you users are unable to logon to Office 365 service (if vanity domain was used in UPN) and unable to receive emails to their mailboxes.

In theory it is all looking nice and easy – you just need to remove the vanity domain from UPNs and remove all email addresses containing the domain, then you release domain from old tenant and verify it on new one. That, however, sometimes looking very differently in practice. First of all there are some constraints you need to consider:

  1. It is not possible to remove email addresses from Office 365 Groups. That is by design – even you can play with Set-UnifiedGroup command, the email will not be deleted from Azure. Only option is to remove whole group in order to be able to release the domain.
  2. Azure Web Apps configured with vanity domain will prevent this domain from removal from the tenant – Configuring a custom domain name for a web app in Azure App Service using Traffic Manager.
  3. Subdomain email addresses must be also removed. Say you removing contoso.com from your tenant, however some of your mail contacts have email address of subA.contoso.com, it is possible even without having subdomain to be verified on the tenant. In order to release vanity domain, you must remove such email addresses too.

Also, in AAD Connect scenario, you must disable synchronization in order to be able to start removal of email addersses – Turn off directory synchronization for Office 365.

Once disabled, you can proceed with removal:

  1. Change user UPNs to onmicrosoft.com. Always do that step first, before starting removal of email addresses. The step can be easlily automated.
  2. Remove email addresses containing vanity domain from user mailboxes, mail users, groups. Again there are scripts on the internet that allow you automated removal.
  3. Usually, first two steps should be enough to get the domain released, so you just go to the O365 Admin Portal and try to remove domain. That step will show you if there are any objects, that still containing email addresses. If you see only aliases in the list, you can proceed with removal as system will strip these aliases for you. If you see UPNs, Primary SMTP addresses or groups – then removal will fail.

Now, if the domain was successfully removed only thing you need to do is to verify it on another tenant and proceed with rest of your migration, however sometimes you may find that there are still objects preventing you to release domains. Most common issues I see in practice:

  • Unable to remove email address from MailUser who have no mailbox. You trying to remove the email address from EAC or PowerShell, command completes successfully, but email address is still not removed. In case you are not able to remove the user completely only option is to assign ExO license to this user – when done, you will be able to remove email address and reclaim the license back.
  • Unable to find account preventing release of the domain. Sometimes command Get-MsolUser -Domainname <domain_name> will not return you any user, however it seems that you still have some users keeping domain from deletion. If this is your case, following command do better job: Get-MsolUser -All | where {$_.ProxyAddresses -like “*contoso.com”}

If you have any concerns about this, just let us know – we are keen to provide you advice and guidance on it.

Import Skype for Business Online (Lync) Contacts [buddy list]

In case you want to import back contacts and groups extracted by script from this post, download and use script below. It is quite simple script using Lync 2013 SDK, which was tested with both Lync 2013 & Skype for Business 16 Clients.

Continue reading

Export Skype for Business Online ‘buddy list’

In case you migrating your user’s from one Office 365 tenant to another one (T2T Migration) you may find handy ability to quickly extract so called ‘buddy list’ from of the users. It is essentially just list of SIP addresses of user’s contacts and very often it does not have any value if there are just internal contacts. However, in case users have many external peers, loss of the buddy list may be quite painful.

The script below will allow users easily export their ‘buddy lists’.

Continue reading