{"id":22839,"date":"2024-01-31T06:59:28","date_gmt":"2024-01-31T11:59:28","guid":{"rendered":"https:\/\/centricconsulting.com\/?p=22839"},"modified":"2024-01-31T07:39:26","modified_gmt":"2024-01-31T12:39:26","slug":"handy-guide-google-g-suite-to-micrsoft-365-migration","status":"publish","type":"post","link":"https:\/\/centricconsulting.com\/blog\/handy-guide-google-g-suite-to-micrsoft-365-migration\/","title":{"rendered":"A Handy, Step-By-Step Guide on Google Workspaces to Microsoft 365 Migration"},"content":{"rendered":"

If you are leading a Google Workspace to Microsoft 365 migration, you might be confused about the order of operations for configuration. We prepared a guide to help.<\/h2>\n
\n

If you are preparing to migrate from Google Workspace to Microsoft 365<\/a>, you might be confused about the order of operations for configuration. I certainly was.<\/p>\n

While Amazon, Microsoft and Google have agreed to work together to make this easier in the future, you might not be in a position to wait. Fear not, though, I can help.<\/p>\n

I have a step-by-step guide for this particular type of migration, however, you may find it helpful for other migrations as well.<\/strong> What I detail below may or may not be required in your specific scenario, and you may also choose to do things a bit differently.<\/p>\n

As a note: Use caution when copying and pasting PowerShell code<\/a> as you would from any site. You will need to customize it some and test it.<\/p>\n

Step-by-Step: Google Workspace to Microsoft 365 Migration<\/h2>\n

This is meant to be a helpful overview and guide on what is involved in configuring both environments. We will use mydomain.com as our verified and configured domain currently in use by Google Workspace.<\/p>\n

Steps before you begin your migration:<\/p>\n

1. Create a Microsoft 365 Global Admin and a Google Workspace Super Admin for use throughout this process.<\/h3>\n

2. Add your domain to Microsoft 365 and verify.<\/h3>\n

\"Centric<\/a><\/p>\n

\"Centric<\/a><\/p>\n

\"Centric<\/a><\/p>\n

\"Centric<\/a><\/p>\n

Select one of these ways to verify:<\/p>\n

\"Centric<\/a><\/p>\n

Select to add later, and then click Skip<\/strong>.<\/p>\n

\"Centric<\/a><\/p>\n

You may see \u201cSetup in progress\u201d in the domains window beside mydomain.com. This is expected and you can safely move forward.<\/p>\n

3. Install and configure Microsoft Entra Connect<\/a> on-premises or synchronize accounts with another identity manager.<\/h3>\n

4. Ensure that synchronized accounts are assigned licenses.<\/h3>\n

Use some variation of the following to assign the same license to all users.<\/p>\n

Get-MsolUser -All \u2013UnlicensedUsersOnly |%{Set-MsolUserLicense \u2013UserPrincipalName $_.UserPrincipalName -AddLicenses \u201clitwareinc:ENTERPRISEPACK\u201d}<\/code><\/p>\n

5. Add a subdomain to Microsoft 365.<\/h3>\n

This is the same process as before. MyDomain.com<\/strong> must be verified before adding the subdomain. The subdomain will automatically verify, or you can add a DNS TXT record at your domain registrar.<\/p>\n

\"Centric<\/a><\/p>\n

6. Add a DNS Mx record for the Microsoft 365 subdomain.<\/h3>\n

The steps to perform this will vary depending on your DNS host\/registrar.<\/p>\n

    \n
  1. Type: MX<\/li>\n
  2. Priority: Default\/0<\/li>\n
  3. Host Name: o<\/li>\n
  4. Points to address or value: o-mydomain-com.mail.protection.outlook.com<\/strong><\/li>\n<\/ol>\n

    7. Add an AD smtp address to the proxyAddresses<\/strong> field.<\/h3>\n

    Please note that this must be a lowercase smtp<\/strong>.<\/p>\n

    $Users = Get-ADUser -Filter * foreach ($user in $users ){\u00a0\u00a0 $alias = \u201csmtp:\u201d + $User.SamAccountName + \u201c@o.mydomain.com\u201d\u00a0\u00a0 Set-ADUser $User.SamAccountName -Add @{\u2018ProxyAddresses\u2019=$alias}<\/code><\/p>\n

    8. Add a Microsoft 365 MailContact for each Google Workspaces subdomain alias.<\/h3>\n

    Two things to note here:<\/p>\n

      \n
    1. Name<\/strong> and DisplayName<\/strong> use the same csv column.<\/li>\n
    2. ExternalEmailAddress<\/strong> is the Google Workspaces subdomain, in our case, g.mydomain.com<\/strong>.<\/li>\n<\/ol>\n

      Import-Csv \u201cC:path-to-csvcsv-file.csv\u201d | ForEach {New-MailContact -Name $_.Name -DisplayName $_.Name -Firstname $_.FirstName-LastName $_.LastName -ExternalEmailAddress $_.ExternalEmailAddress}<\/code><\/p>\n

      9. Set Calendar folder permissions in migrating users\u2019 mailboxes.<\/h3>\n

      $Mailboxes = Get-Mailbox -ResultSize Unlimited ForEach ($Mailbox in $Mailboxes) {Set-MailboxFolderPermission -Identity ($Mailbox.sAMAccountName+\u2019:Calendar\u2019) -User Default -AccessRights LimitedDetails}<\/code><\/p>\n

      10. Turn Calendar Notifications<\/strong> off (recommended to not annoy users).<\/h3>\n