Godaddy Office 365



Now that you have successfully migrated from GoDaddy to Office 365, you need to configure your Outlook client for Office 365 as well. After this, your Outlook client shall restart and when it does, you will see your new profile (which you just updated) listed. The way that GoDaddy’s control panel is deeply integrated with Office 365 tenants for their customers make it almost impossible to remove the domain without GoDaddy’s support as well as do advanced admin actions you would usually do when managing 365.

Learning has never been so easy!

One of the more complex and time consuming migrations you will ever have to do. Full of challenges from lack of admin access to the MSOLONLINE level on the Godaddy side to the manual process for changing domain names from the one you want to move to another one so GoDaddy does not immediately delete your old tenant. This one is a tough for sure.

13 Steps total

Step 1: GoDaddy Office 365 Access

Get into the GoDaddy side and add a new Office 365 email account and give that Global Admin rights to the GoDaddy tenant so you can see the Admin Tile when you login to Portal.office.com with those new creds.
This will require you to consume a license on the GoDaddy site so be sure you are picking the Office 365 license and not their other email option.

Step 2: From GoDaddy's Forums related to Global Admin

NA
NathanRasmussen Replied on November 23, 2015
ReplyIn reply to LarryBeasley- [O365]'s post on November 18, 2015
Hello Larry. I work at GoDaddy and wanted to provide some more details here. Global Admin permission can be enabled at mailbox setup (or can be changed afterwards through the GoDaddy Office 365 control panel). Please note that Office 365 from GoDaddy is federated with GoDaddy's authentication system.

Respectfully,

Nate

Step 3: Use PowerShell to assign full access to each mailbox for the GA user you created

Now just because you have Admin level access does NOT mean you can migrate the mailboxes with impersonation. Now you have to use PowerShell to connect to EXO and assign Full Access Permissions to each mailbox for the GA user you created above.

#Connect to Exchange Online
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -AllowClobber

#Set Full Access Permissions On All Mailboxes
Get-Mailbox -IncludeInactiveMailbox | Add-MailboxPermission -User 'GlobalAdminUserAlias' -AccessRights FullAccess

Step 4: What will not migrate using tools

Now the fun stuff begins, because you cannot gain admin access to the Azure PowerShell side of your GoDaddy tenant, some important end user stuff will not migrate with even the best 3rd party tools and has to be done manually.

OneDrive
OneNote
SharePoint Site Permissions
Groups (Distro, Office 365)

Now that is not a big deal for smaller migrations but anything over 50 users is going to not only require a good manual plan but also end user help so get out in front of this one long before you start any part of this migration.

Step 5: Export GoDaddy Users and Content

To make this as clean as possible wait until the last possible minute to export what content you can from the GoDaddy side so that you are not left hanging when other admins or new CTO's are making changes to the GoDaddy side without your knowledge. Keep a close eye on this right up to the point of migration as it has become a challenge in the past for me on one project in particular.

The Script in the step below will help you export that GoDaddy side tenant info to CSV.

Step 6: Export Users, Aliases and Groups

#Connect To Exchange Online
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -AllowClobber

Get-DistributionGroup

##################### Mailboxes #################################################################
# Create an object to hold the results
$addresses = @()
# Get every mailbox in the Exchange Organisation
$Mailboxes = Get-Mailbox -ResultSize Unlimited

# Recurse through the recipients
ForEach ($mbx in $Mailboxes) {
# Recurse through every address assigned to the recipient
Foreach ($address in $mbx.EmailAddresses) {
# If it starts with 'SMTP:' then it's an email address. Record it
if ($address.ToString().ToLower().StartsWith('smtp:')) {
# This is an email address. Add it to the list
$obj = ' | Select-Object Identity,Alias,ExchangeGUID,EmailAddress,RecipientType
$obj.Alias = $mbx.Alias
$obj.ExchangeGUID = $mbx.ExchangeGuid
$obj.Identity = $mbx.Identity
$obj.RecipientType = $mbx.RecipientType
$obj.EmailAddress = $address.ToString().SubString(5)
$addresses += $obj
}
}
}
# Export the final object to a csv in the working directory
$addresses | Export-Csv c:csvMailboxEmailAddresses.csv -NoTypeInformation

##################### Recipients #################################################################
# Create an object to hold the results
$addresses = @()
# Get every recipient in the Exchange Organisation
$Mailboxes = Get-recipient -ResultSize Unlimited

# Recurse through the recipients
ForEach ($mbx in $Mailboxes) {
# Recurse through every address assigned to the recipient
Foreach ($address in $mbx.EmailAddresses) {
# If it starts with 'SMTP:' then it's an email address. Record it
if ($address.ToString().ToLower().StartsWith('smtp:')) {
# This is an email address. Add it to the list
$obj = ' | Select-Object Identity,Alias,ExchangeGUID,EmailAddress,RecipientType
$obj.Alias = $mbx.Alias
$obj.ExchangeGUID = $mbx.ExchangeGuid
$obj.Identity = $mbx.Identity
$obj.RecipientType = $mbx.RecipientType
$obj.EmailAddress = $address.ToString().SubString(5)
$addresses += $obj
}
}
}
# Export the final object to a csv in the working directory
$addresses | Export-Csv c:csvAllRecipientaddresses.csv -NoTypeInformation

###################################### Distro Groups ############################################
# Create an object to hold the results
$addresses = @()
# Get every DistroGroup in the Exchange Organisation
$Mailboxes = Get-DistributionGroup -ResultSize Unlimited

# Recurse through the DistroGroups
ForEach ($mbx in $Mailboxes) {
# Recurse through every address assigned to the mailbox
Foreach ($address in $mbx.EmailAddresses) {
# If it starts with 'SMTP:' then it's an email address. Record it
if ($address.ToString().ToLower().StartsWith('smtp:')) {
# This is an email address. Add it to the list
$obj = ' | Select-Object Identity,Alias,ExchangeGUID,EmailAddress,RecipientType
$obj.Alias = $mbx.Alias
$obj.ExchangeGUID = $mbx.ExchangeGuid
$obj.Identity = $mbx.Identity
$obj.RecipientType = $mbx.RecipientType
$obj.EmailAddress = $address.ToString().SubString(5)
$addresses += $obj
}
}
}
# Export the final object to a csv in the working directory
$addresses | Export-Csv c:csvAllDistroGroupsaddresses.csv -NoTypeInformation

######################## Recipient X500 Addresss ################################################

# Create an object to hold the results
$addresses = @()
# Get every recipient in the Exchange Organisation
$Mailboxes = Get-recipient -ResultSize Unlimited

# Recurse through the recipients
ForEach ($mbx in $Mailboxes) {
# Recurse through every address assigned to the recipient
Foreach ($address in $mbx.EmailAddresses) {
# If it starts with 'SMTP:' then it's an email address. Record it
if ($address.ToString().ToLower().StartsWith('x500:')) {
# This is an email address. Add it to the list
$obj = ' | Select-Object Identity,Alias,ExchangeGUID,EmailAddress,RecipientType
$obj.Alias = $mbx.Alias
$obj.ExchangeGUID = $mbx.ExchangeGuid
$obj.Identity = $mbx.Identity
$obj.RecipientType = $mbx.RecipientType
$obj.EmailAddress = $address.ToString().SubString(5)
$addresses += $obj
}
}
}
# Export the final object to a csv in the working directory
$addresses | Export-Csv c:csvAllRecipient-x500-addresses.csv -NoTypeInformation

# Create an object to hold the results
$addresses = @()
# Get every DistroGroup in the Exchange Organisation
$Mailboxes = Get-DistributionGroup -ResultSize Unlimited

# Recurse through the DistroGroups
ForEach ($mbx in $Mailboxes) {
# Recurse through every address assigned to the mailbox
Foreach ($address in $mbx.EmailAddresses) {
# If it starts with 'SMTP:' then it's an email address. Record it
if ($address.ToString().ToLower().StartsWith('x500:')) {
# This is an x500 address. Add it to the list
$obj = ' | Select-Object Identity,Alias,ExchangeGUID,EmailAddress,RecipientType
$obj.Alias = $mbx.Alias
$obj.ExchangeGUID = $mbx.ExchangeGuid
$obj.Identity = $mbx.Identity
$obj.RecipientType = $mbx.RecipientType
$obj.EmailAddress = $address.ToString().SubString(5)
$addresses += $obj
}
}
}
# Export the final object to a csv in the working directory
$addresses | Export-Csv c:csvAllDistroGroup-x500-addresses.csv -NoTypeInformation

#########################Get Group Members ###########################################################

# Get Members Of Groups Above
(Get-DistributionGroup).identity | ForEach-Object{
$DistributionGroupName = $_
Get-DistributionGroupMember -Identity $_ | ForEach-Object{
[PSCustomObject]@{
DistributionGroup = $DistributionGroupName
MemberName = $_.DisplayName
EmailAddress = $_.PrimarySmtpAddress
#Other recipient properties here
}
}
} | Export-csv c:csvGroupMembers.csv -NoTypeInformation

Step 7: **Create the new Microsoft Office 365 Destination Tenant** Caution

Now this should be a easy task to create a new tenant on Office 365, I say should because you need to be careful which tenant name you choose as this is permanat and you need to be double sure the CTO is communicating this fact to the other C-Level employees before you begin to start consuming services in the new tenant. Do not let the pressure of getting the new tenant stood up to overlook this fact. Usually this is not a big deal because you would only see this URL when using SharePoint Online in the new tenant but it has been a challenge for me in the past and I don't want it to be a challenge for you in the future.
In my opinion it is best to have them create the new tenant using a trial offer from Microsoft so that the liability of tenant name falls to them and not you.

Free E3 trial link below, choose the right trial for your situation, E3 is not the only choice here...

https://signup.microsoft.com/Signup?OfferId=B07A1127-DE83-4a6d-9F85-2C104BDAE8B4&dl=ENTERPRISEPACK&culture=en-US&country=US&ali=1

Step 8: Import / Create Users In The New Tenant

Now the fun really begins, setting up all the new users, Groups and members in the new tenant. You have three ways you can do this:
Manually if it is less than 25 users I would go this route
Create them via PowerShell directly in the new tenant
Create them in on premises AD and setup AAD connect to sync that to the new tenant.
Each route has its pros and cons and this is really up to you how you proceed here. End result is the same, users in the new tenant that equal one for one the stuff in the Source GoDaddy tenant.

Step 9: Choose your third party migration tools

365

For this example migration I used two tools to migrate the mailbox content and the SharePoint Online content from the source GoDaddy tenant to the new Microsoft destination tenant.
BitTitan MigrationWiz handled the mailbox migration
ShareGate handled the SharePoint Online migration
Each tool has plenty of migration guides to help as well as super helpdesk support so these are what I used. Your choices might be different but the end goal is the same, migrate the content with as much automation as possible.

Step 10: Use a transfer domain name or not

In this example I used a transfer / temp domain name I registered and then validated in the new source tenant. You could use the default tenant.onmicrosoft.com domain to accomplish this if you wanted to save a few bucks but I find all the typing that this process demands to be a bit easier with a shorter domain name. This is another one of those places where it is up to you.

Step 11: Go Day and My Experience

So the day of the migration where you get the GoAhead from the CTO you need to socialize the changes that are coming and the expected end user disruption. I usually send out an email or two the week before letting everyone know this is coming and set expectations. Be sure this has been absorbed and understood by the end users, don't rely on just the CTO, confirm this with other C-Level personnel before you commit.
I got stuck with a month of start stops where I had prepared to do the migration, set forwarding from the old tenant to the new tenant for user mailboxes and SharePoint content, and started staging the mail only to be stopped, then said we are going again, then stopped and then we finally got to the migration and end users were not happy about the months worth of email that was collected in their inboxes and not organized.

Learn from my experience if this happens to you it is best to clear out the source tenant of all mail and start over fresh.

Godaddy office 365 login

Step 12: Ugly GoDaddy Process

Now in order to rip and replace the domain name from the GoDaddy tenant to the new one and have the validation work correctly you need to change each users primary email address in the GoDaddy site portal, ONE AT A TIME, this is drop down, choose another domain, and save for each user. I had over 200 users and this took me 3 hours. Then I called GoDaddy support to have them release the federation on the domain only to have them tell me that process created aliases that needed to now be manually deleted, ONE AT A TIME!!!!!
So six hours later I finally got that domain unfederated from GoDaddy and validated in the new tenant.

Step 13: Final Migration Pass Sync and Triage

Now I started the final sync in MigrationWiz for the mailbox and started another sync in ShareGate to collect the other stuff in the mailboxes like contacts, calendar, notes, etc. This proceeded without errors so I was good and now we waited until morning to start the triage of getting the end users Outlook reset (Deployment Pro was not an option because they used Mac's) and helping end users get the password reset options set in the new tenant like cell phone for SMS code and alternate email address. This step proved to be a pretty big mountain to climb.
The other mountain was SharePoint Permissions had to be reapplied to each site, not a big deal but again proved to be a challenge that lasted a week. After that things settled back in and users were back to work.

Some end users had OneDrive and OneNote data that had to be manually migrated. This was why I spent the time changing the primary domain in GoDaddy so they kept the old tenant live. I informed the end users of the new domain and they had to login and sync down the OneDrive data using the that new login then copy and paste it over to the new OneDrive folder in the new tenant.
OneNote was a bit more tricky in that you had to use the export / import feature to migrate that content for each workbook they had created. One user had 10 workbooks with a ton of data so that took a very long time to get right.

Godaddy office 365 outlook setup

By far one of the most challenging migrations to date. I will forever be recommending against 3rd party syndicated tenants from here on forward as this process as so disruptive and seemed to be purpose built to make hard that I was left wondering why is this happening several times during the course of the migration.

Hope this helps anyone facing this situation and I will be monitoring this thread for comments to help anyone forced to do this so I can hopefully help where I can.

Good luck, and Happy Computing!

1 Comment

Godaddy Office 365 Login Email Account

  • Thai Pepper
    MI50 Sep 21, 2018 at 04:06pm

    Gregory,
    Great how to for this thank for doing it

Learning has never been so easy!

This How-to will include the basic process to migrate away from the annoyingly stripped down version of Office 365 that GoDaddy sells to a full version from another re-seller or MSFT directly. This can be necessary if you need an 'E' level of Office 365 as GoDaddy does not offer these products.

Godaddy Office 365 E5

We migrated away from GoDaddy to a 'regular' Office 365 solution a while back. The migration was a huge pain as things did not go very smoothly with the instructions I had received from Microsoft. Here are a few tips to avoid some of the pain points and as a heads up for anyone going through this process in the future.

12 Steps total

Step 1: Set Local Outlook Client to Cache all history.

Change all Outlook users to download/cache all history. All our users were set to 12 months by default. I changed this for all users the day before to allow time for the items to download.

Step 2: Change MX Records to temp address

When ready, change MX records to point to non-existent mail server. This allowed emails to stop coming in, but seemed to attempt delivery when we were back up and running.

Try using “unreachable.example.com”.

Step 3: Create a PST file for all users.

Create a PST files for all users. This can be performed from inside the Outlook client under File -> Open & Export -> Import/Export -> Export to a file -> Outlook Data File (.pst). Make sure this file is somewhere safe as it will temporarily be your only copy of the data!

Contrary to documentation, the AutoComplete list did not transfer for any of our users, so be prepared for that.

https://support.office.com/en-us/article/Import-Auto-Complete-List-from-another-computer-3092EE65-BE1B-4D18-B903-4BB84C9932D0

Step 4: Move any other data

If you have any SharePoint or OneDrive data, you will need to back that up separately for each user. This is where a paid tool might come in handy. We didn't have that much data in these two apps, so it was not a big deal for us to recreate them after migration was complete.

Step 5: Call GoDaddy to remove domain association

Call GoDaddy to delete, yes DELETE the existing email accounts. They stated this is the only way to remove the domain association from their version of Office 365. Be prepared for this change to take several hours to trickle through. You might want to skip to step 8 and come back to 6 when ready.

Step 6: Domain and DNS for new service

With the Advanced Security or Business Premium plans, can I download the 5 installs of Office on my employees

Add domain to new Office 365 and update DNS records as required. These are specific for your implementation, so no guidance provided. There are guiding directions within Office 365's Admin section to help you through these if you need to make manual DNS entries.

Godaddy Office 365 Email Migration

Step 7: Set up new accounts

Set up accounts in new Office 365 environment. This includes shared mailboxes, groups, and resources.

Step 8: Remove old mail profiles on client machines

In our experience, there is no need to try to use the existing Mail Profile on each PC. None of them allowed a repair and Office 365 licensing for desktop apps would not work either. My suggestion to avoid delays is to delete the local mail profile from each machine at this time. We tried to use existing mail profile on each machine and had 100% failure rate.

Step 9: Install Office 365 desktop apps

Log in to Office 365 web portal on each machine and Install Office 365 desktop apps at this time. This will fix the local Office licensing, add features not available with GoDaddy's offering, and prep the machine to connect to the new Office 365 provider. We tired to connect the old Office install to the new service and had 100% failure rate.

Step 10: Set up Outlook

Set up Outlook and import the PST file for each user. This can take a while if your users have a lot of data. Be prepared for it to run for an hour or two if there are multiple GB's of data or if you have slower machines/non-SSD hard drives.

Step 11: Let Outlook Sync

Leave Outlook open on each machine to upload all emails/contacts/calendar items to Office 365. This seems bandwidth limited by Microsoft and each of our Outlook mail clients seemed to upload at about 0.5-3 Mbps max, so expect this process to take a long time for users with a lot of email. I ran some overnight to ensure they were up to date when they came in on Monday. Failed to do this for some users I thought did not have that much email and they did not receive any new emails in Outlook until all the other folders were sync'd. These users had to use the Outlook Web Client in the interim and were not very impressed.

Step 12: Alert Users

Post-migration Steps For GoDaddy

Warn users they may have to delete old recurring meetings and start them over as the service will no longer let them edit these and says they don't have permission to change these meetings.

The old address used for many resources (conference rooms) were tied to the Office 365/GoDaddy instance ID and not the Domain ID.

Now you can sit back and enjoy no longer being 'shackled' by GoDaddy's service limitations. Having full control and visibility in the Admin Portal is refreshing. Sure, you don't use the settings often, but it is nice to have them easy to get to when you do need them.

Reference

And, if you ever want to switch to another Office 365 provider, you can usually accomplish this by just changing your partner of record. Migration is not usually necessary.

References

  • Microsoft Rep's version of how to migrate.
  • Microsoft's version of how to migrate...again, some things didn't work as advertised.
  • Office 365 Plans and Pricing

Create A Shared Mailbox | Microsoft 365 From GoDaddy ...

12 Comments

  • Anaheim
    Manish1192 May 20, 2017 at 09:46am

    Hi lloganBMG,

    I think 2nd step is not required for this migration. You can do direct change of new MX record.

    Thanks,

  • Thai Pepper
    lloganBMG May 22, 2017 at 03:08pm

    Manish1192-

    We did this temp change as the new MX and old MX records were going to be the same. We needed something to stop mail flow (to GoDaddy) while we made the changes so no mail would be lost at the old provider. Then changed it back to the same MX address it had originally pointed to after the service had been set up with Microsoft.

    So, if you are moving from GoDaddy to Microsoft Office 365 and your email addresses will be the same before and after, I think step 2 is still required or you'll lose emails.

    If you are migrating (maybe from GoDaddy email instead of GoDaddy Office 365) and changing the MX record to something different after the migration than it was before, then step 2 would not be required. You'd just go ahead and change it to the final record and that would hold mail until your setting were completed and mail could be delivered.

    Make sense? Thanks!

  • Sonora
    NiceCalgarian Nov 5, 2017 at 11:22pm

    Thank you this was very helpful. A colleague of mine is in a similar situation with GoDaddy.

  • Pimiento
    cory6 Jan 6, 2018 at 01:00am

    You can 'export' all mailboxes to .psts from GoDaddy. And then simply import them into Office 365.

    Here are my notes, it's not a great tutorial, just images step by step of what I did.

    https://drive.google.com/open?id=1t_IvulGSReheq1Uj78UDL1OoyM4AtyV-

  • Jalapeno
    bevege Mar 7, 2018 at 06:56pm

    I'm about to do this very soon. Going from Godaddy O365 to MS 0365 via another CSP using the same domain name.

    My users are very heavy mobile device users. Anything to worry about? IE, will they be able to just re-login with their new credentials or will we need to uninstall and re-install the Office/Native apps?

    Also, will we have to recreate all groups, rooms etc?

    Thanks

  • Thai Pepper
    lloganBMG Mar 7, 2018 at 08:53pm

    It has been a few years since my migration at this point, but I think I had to manually create all rooms and groups. Sorry I can't remember for sure, but we only had a handful of each so I may have done it manually just out of ease and not bothered researching migrating those. If you read my instructions, it does state that all old meetings that used a resource (conference room) will need deleted and re-created to get them to allow modification.

    As far as login and apps, at the time I migrated, the only way we were able to get our Windows machines to work was to install the apps from scratch using the MS O365 installer. I believe we had to delete the accounts and add the new ones on iOS and Android as well.

    Yes, it is a pain for a short time, but has the benefit of full MS O365 functionality when you're finished, so hang in there!

  • Poblano
    derekiannelli-smith Nov 9, 2019 at 08:09pm

    I have spent most of my Saturday with an Internal migration from GoDaddy, and the e-discovery export did not work (tool crashed with of course cryptic errors), so I was forced to export my .pst from outlook client. I am so mad at GoDaddy right now, if I knew I would never be able to migrate away without access to my global admin account I would have never chosen this solution. I was on the phone with 3 techs, 2 escalations etc. This is ridiculous and one I am glad I did not have to deal with for a client. Yes, GoDaddy my survey after the call reflected my first '0' with satisfaction for the service. Facepalm.

  • Pimiento
    Kgibbons Dec 19, 2019 at 10:15pm

    If GoDaddy does not provide any administrative access, how do you change the MX records in item #2?

  • Thai Pepper
    lloganBMG Dec 19, 2019 at 10:24pm

    @Kgibbons - You'll need to change the MX records with whatever service is hosting your domain. That may or may not be GoDaddy.

  • Pimiento
    spicehead-a6l45 Oct 17, 2020 at 01:05am

    How Microsoft allowed GoDaddy to completely butcher their product is beyond me. They're lucky they don't work for me.

    You can migrate away from GoDaddy to Microsoft without having to have one conversation with the GoDaddy support team. Any dealing with GoDaddy support usually ends with tears and frustration so I'm sure this excites some of you.

    As for importing and exporting PST files, I have better uses for my time.

    You'll need a second Domain from GoDaddy (I paid $1.87 for one client), a decent online migration tool like Migration WIZ, a temp mail system like Gsuite trial and access to Powershell. Be sure you have admin access to GoDaddy Domain manager and 365 and make sure you can make DNS changes. Ideally, you have a second DNS host that allows you to switch nameservers if needed.

    I think GoDaddy are a close tie for the worst company in the world with Adobe. The very worst of the worst.

  • Pimiento
    mhunmann Oct 17, 2020 at 03:56pm

    Thanks for that info, it is helpful

    BTW - Absolutely!!! 👍👌
    'I think GoDaddy are a close tie for the worst company in the world with Adobe. The very worst of the worst.'

  • Jalapeno
    Aleks (NAKIVO) Dec 22, 2020 at 07:43pm

    Thank you for your tips, it's a very useful article. Your generosity will help more people who have the same dilemma.

    From my side, I can recommend Microsoft Office 365 backups. No matter which 365 version you are using, you have to make sure your company information is safe: https://www.nakivo.com/microsoft-office-365-backup/