Many customers you come across will be on GoDaddy’s Office 365 platform. Migrating these customers to regular Office 365 requires that you either perform a migration or defederate the tenant. Defederating does not require a migration or downtime. Click here to see that solution. 

Your MX records on GoDaddy are the same as when you are on Office 365. For this reason, you must remove your primary domain from GoDaddy and recreate it in Office 365. If done correctly, downtime should be limited to 5-15 minutes. In this article, i am going to give you best practices to follow using the BitTitan migration tool.

**Please Note** This is a highly level overview of the migration steps using BitTitan. For a complete step-by-step guide with screenshots, follow this link. While this guide is specific to BitTitan the same concepts can be followed using any tool.

Set Up the Destination Environment

CheckList:

Provision a Net New Tenant in Office 365

  • They will be provisioned with the .onmcirosoft domain
  • This can be purchased directly or under the CSP model through a distributor

In 365 Admin Center, Go to Setup>Domains>Add Domains

.

  • *Note* This is where you will go to add the domain and verify with a TXT record after you remove from GoDaddy. For now users will have the .onmicrosoft.com as their primary SMTP address

Add Users and Apply Licenses

  • Add One at a time
  • Bulk Upload via Powershell
  • Bulk Upload Via CSV

#Bulk Import Users with Passwords Powershell#

Import-Csv -Path 'FilePath' | foreach {New-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -Password $_.Password -ForceChangePassword $False}

Set Impersonation rights for the admin user

Connect to 365 Exchange Online with Powershell (Link in title) and run the following:

New-ManagementRoleAssignment -Role ApplicationImpersonation -User <admin_user_name>

Prepare the Source Environment

CheckList:

Set Impersonation rights for the admin user

Connect to GoDaddy's Exchange Online with Powershell (Link in title) and run the following:

New-ManagementRoleAssignment -Role ApplicationImpersonation -User <admin_user_name>

Plan Downtime Window

Determine when you will be removing the domain from GoDaddy. Notify users accordingly

Notify GoDaddy of Planned Domain Removal

Let GoDaddy know about your planned removal 24hrs prior to avoid delays

Upgrade Software on Workstations

If applicable, install the latest Office 365 software to all users workstations

Set Up A BitTitan Account

Create a Login

Click the Link to create a BitTitan username and password.

Create a Customer

Enter Primary Domain name and customer name

Send Out Agent to Re-configure Outlook Profiles

CheckList:

*NOTE* BitTitan comes with a tool called Deployment Pro which re-configures Outlook profiles after the migration. This can be pushed out either through GPO or email.

Determine whether sending out agent via GPO or Email

Track Users with Agent Installed

Devices will register and match users email address to computer in a one-to-one relationship. Each computer will have a "Heartbeat"

Prepare Migration Endpoints

CheckList:

Set up your source and destination endpoints in the BitTitan Portal

  • The source endpoint can be found under Office 365
  • Destination is Office 365
  • Provide Admin Credentials for each endpoint

Autodiscover Users

  • Clean Up User List as Needed
  • Remediate UPN issues by clicking on Pencil icon next to users
  • Source should contain .com address and destination should contain .onmicrosoft.com address

Verify Credentials

  • This will tell you if there are errors
  • Most Typical Errors are Insufficient Impersonation rights, wrong admin creds
  • Shows “Completed Verification” upon success

Subscribe Users

  • Select All Users>Click last Icon on top toolbar with 3 lines
  • “Apply User Migration Bundle”
  • Takes a 3-5 Minutes to propagate

Start Migration

CheckList:

Run Prestage Pass bringing mail from GoDaddy to Office 365

  • This will bring over a bulk of the data before we remove the domain
  • Set Prior to 60 days
  • Any user whose status changes to “Failed” is almost 100% due to server timeout.
  • Simply Re-Run these users

Run Full Pass to bring over remaining Mail, Calendars, Contacts, Notes, Rules

  • Start once Full-Stage Pass has completed
  • Can Run Up to 10 Delta Passes
  • Make sure everyone goes into a “Completed Status”

Domain Removal From GoDaddy

Checklist:

Bulk Update all Users UPNs to .onmicrosoft.com domain in GoDaddy

  • To Remove the domain, we need it removed from all records in the portal.

$UserCredential = Get-Credential

Connect-MsolService -Credential $UserCredential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

Import-PSSession $Session -AllowClobber
$testpath = test-path c:\temp; If ($testpath -eq $false) {new-item -type directory c:\temp}; $dataout = @();
Get-MsolUser -All | ? {$_.UserPrincipalName -match “domain.com”} | % {Set-MsolUserPrincipalName -ObjectId $_.objectId -NewUserPrincipalName ($_.UserPrincipalName.Split(“@”)[0] + “@domain.onmicrosoft.com”); $dataout += “$($_.UserPrincipalName)” ; $_.UserPrincipalName };$dataout | out-file c:\temp\UPNChangeOutput.txt

Remove all alias with the domain

$Records = Get-mailbox -ResultSize Unlimited| where {$_.emailaddresses -like “smtp:*@domain.com”} | Select-Object DisplayName,@{Name=“EmailAddresses”;Expression={$_.EmailAddresses |Where-Object {$_ -like “smtp:*domain.com”}}}

foreach ($record in $Records)
{
   write-host “Removing Alias” $record.EmailAddresses “for” $record.DisplayName
   Set-Mailbox $record.DisplayName -EmailAddresses @{Remove=$record.EmailAddresses}
}

Remove All Groups with the Domain

Get-MsolGroup -all | ?{$_.emailaddress -match “domain.com”} | Remove-MsolGroup -force

Remove the Domain

  • The portal will notify you if there are any users/groups who still have the domain attached to their profile
  • Work with GoDaddy if you need additional assistance

Recreate Domain in 365

Checklist:

Add the Domain to 365

  • These steps are basically the reverse of what we just performed in GoDaddy
  • In the 365 Admin Center, Go to Setup>Domains>Add Domains
  • Add the domain and verify with a TXT record (can take about 5min before you can recreate)

Bulk Update all Users UPNs to .com domain

$UserCredential = Get-Credential

Connect-MsolService -Credential $UserCredential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

Import-PSSession $Session -AllowClobber
$testpath = test-path c:\temp; If ($testpath -eq $false) {new-item -type directory c:\temp}; $dataout = @();
Get-MsolUser -All | ? {$_.UserPrincipalName -match “domain.onmicrosoft.com”} | % {Set-MsolUserPrincipalName -ObjectId $_.objectId -NewUserPrincipalName ($_.UserPrincipalName.Split(“@”)[0] + “@domain.com”); $dataout += “$($_.UserPrincipalName)” ; $_.UserPrincipalName };$dataout | out-file c:\temp\UPNChangeOutput.txt

Bulk Upload Distribution Lists

Create Two CSVs

  1. One has the Distribution Group Name and Primary SMTP Address
  2. One has the Group name and the members apart of that group

Import-Csv -Path ‘File Path’ | foreach {New-Distributiongroup -Name $_.Name -PrimarySmtpAddress $_.Address }

Import-Csv ‘File Path’ | foreach {Add-DistributionGroupMember -Identity $_.DL -Member $_.Alias}

Post-Migration Clean Up

Checklist:

Make Sure DMA Agent Ran Successfully

  • DMA status will go into “Completed” after succesfull authentication by end user
  • Any user that fails authentication 3x will go into an “error” status
  • These users you will need to reschedule and make sure they have the correct 365 password

Mobile User Reconfiguration Guides

Mobile Users can follow the following guides to setup their mailbox on their phone:

Iphone

Android

 

Spread the word

Share with the Community

Comments are closed.