Google Workspace (starog imena G Suite) je skup online alata za poslovne korisnike, a Microsoft365 (starog imena Office365) je isto skup alata za poslovne korisnike ali iz Microsoft tabora. Razlika je u tome što Microsoft u svom paketu ima i ponudu za aplikacije Office (Word, Excel, Outlook …) što može biti vrlo zanimljivo korisnicima u poslovnom okruženju jer odmah u cijeni pretplate dobiju poznati Office program. To može biti jedan od razloga zašto bi migracija sa Google Workspace na Microsoft365 bila dobra.
No, koji god razlog da je, migracija sa Google Workspace na Microsoft365 nije nešto što se može napraviti u 5 minuta. I unatoč silnoj Microsoft dokumentaciji oko toga, raznim Youtube videima, ja sam se i dalje mučio da sve uspješno migriram. Iz tog razloga je i nastao ovaj članak, da možda nekome pomogne u bržem rješavanju migracije, da ne mora trošiti vrijeme na proučavanje.
Prije nego se krenemo boriti s ovom migracijom, potrebno je imati ispunjeno nekoliko preduvjeta:
- Imati potpune admin ovlasti na postojećem Google Workspace
- Imati podignut Microsoft365
- Imati složenu domenu (domain ownership) za mailove koji će biti na Microsoft365
- Imati Global administrator ovlasti na Microsoft365
Postupak rada
Migracija sa Google Workspace na Microsoft365 uključuje slijedeće
- Na Google Workspace treba napraviti servisni račun (service account) koji će se koristiti za spajanje prilikom migracije.
- Ovaj servisni račun nam treba iz razloga što ne znamo lozinke od svih korisnika, a čak i da znamo, ne bi radilo jer zbog sigurnosti koje Google ima, trebali bi raditi dodatne modifikacije za svaki korisnika kojeg prebacujemo. To je prezahtjevan posao i vrlo vjerojatno ne bi uspjelo (znam iz prve ruke)
- Na Microsoft365 napraviti korisničke račune i dodijeliti im licence (primarno one za mailove).
- Ovo su korisnički računi u koje ćemo pretočiti odgovarajuće mailove iz Google Workspace.
- Napraviti uvjete migracije (migration endpoints)
Dosta pričanja, idemo se bacit na posao …
Google Workspace
Trebamo napraviti servisni račun koji će imati pristup svim korisnicima računima na Google Workspace i biti raspoloživ na cijeloj domeni tvrtke.
Sve radimo s glavnim administratorskim računom za Google Workspace, stoga ovo neću naglašavati, već kad kažem da se prijavljujemo admin računom, podrazumijeva se da je to ovaj glavni koji ima sve ovlasti.
Korak 1
Otići na https://console.cloud.google.com/ i prijaviti se admin računom.
Ako je ovo prva prijava u ovaj dio, treba proći kroz inicijalni proces na brzinu.
Sad kad smo na početnoj stranici, gore lijevo u plavoj traci pored „Google Cloud Platform“ obično piše ime projekta, no kako mi još nemamo ništa, potrebno je kliknuti na strelicu.
U novo otvorenom prozoru otići na New project.

Unijeti:
- Neko ime projekta (npr. migracija)
- Pod organizacijom navesti domenu za koju se radi (vjerojatno je ima na popisu već)
- Pod lokaciju također navesti domenu
- Nakon svega klik na Create
Ovime smo stvorili projekt koji će se koristiti za migraciju. Također smo dobili novi izbornik s lijeve strane koji složi da u ovaj projekt ubacujemo potrebne stvari za ispravnu migraciju.
Korak 2
U ovaj projekt potrebno je ubaciti API dodatke koji služe tome da kažu Google Workspace-u što ćemo sve migrirati (mail, kalendar, kontakte …).
U izborniku s lijeve strane otići na APIs & Services > Library

API koji su nam potrebni:
- Gmail API
- People API
- Google Calendar API
- Admin SDK API
- Contacts API
Opaska: po mom iskustvu, potrebna su samo prva tri jer sam u logu vidio da su se samo oni koristili prilikom migracije. Ali sam vidio u drugoj dokumentaciji da se navode i ovi ostali, stoga dodajte sve ove, za svaki slučaj.
Pronađite svaki ovaj API, kliknite na njega da se otvori i onda kliknuti na Enabled.
Ako ste sve dobro napravili, kad u izborniku odete na APIs & Services > Enabled APIs & services, trebali bi vidjeti sve te API dodatke na popisu (uz već neke postojeće).
Korak 3
Sad krećemo u kompliciraniji posao – izrada servisnog računa.
Odlaskom u izborniku s lijeve strane idemo na IAM & Admin > Service Accounts.

Gore ispod plave trake, kliknuti na Create service account.
- Navesti neko ime računa i opis
- Klik na Create and continue
- Pod Grant this service account access to project staviti mu Owner ovlasti te Continue
- Pod korakom „3“ ne treba ništa, već samo kliknuti dolje na Done.
Sad imamo servisni račun koji ima neku svoju dugačku email adresu.

No još nismo gotovi. Potrebno je napraviti sigurnosni ključ za taj servisni račun.
Pored email adrese kreiranog servisnog računa, s desne strane, nalaze se tri okomite točkice.
Klik na njih pa na Manage keys.
U novom prozoru otići na Add key > Create new key.
Odabrati JSON.
Ovo će kreirati sigurnosni ključ, a također će se na računalo skinuti .json datoteka koja će nam trebati kasnije kad budemo slagali dio za migraciju na Microsoft365 servisu.
Također, pored email adrese servisnog računa nalazi se OAuth2 Client ID u obliku nekog broja. Ovaj podatak treba kopirati jer će nam trebati u slijedećem koraku.
Korak 4
Još nam preostaje da ovom servisnom računu kojeg smo napravili u prethodnom koraku dodamo ovlasti da može raditi po cijeloj domeni (Domain-wide Delegation).
- Otići na https://admin.google.com/ i prijaviti se admin računom od Google Workspace
- U izborniku otići na Security > Access and dana control > API controls

- Dolje pod Domain wide delegation kliknuti na Manage domain wide delegation
- U novom prozoru kliknuti na Add new
- Otvorio se novi prozor gdje treba navesti
a. Client ID – to je ID od napravljenog servisnog računa, a taj broj smo kopirali u prethodnom koraku
b. Za OAuth scopes se može slobodno staviti sve ovo baš ovako:
https://mail.google.com/,https://www.google.com/m8/feeds,https://www.googleapis.com/auth/contacts.readonly,https://www.googleapis.com/auth/calendar.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/drive,https://sites.google.com/feeds/,https://www.googleapis.com/auth/gmail.settings.sharing,https://www.googleapis.com/auth/gmail.settings.basic,https://www.googleapis.com/auth/contacts.other.readonly,https://www.googleapis.com/auth/calendar,https://www.google.com/m8/feeds/,https://www.googleapis.com/auth/contacts
Doslovno napraviti copy/paste, jer su vrijednosti odvojene zarezom. Kad se unese, Google će to automatski razdvojiti u svaku stavku posebno.
Za kraj kliknuti na Authorize.

Ovime smo riješili sve što je potrebno na Google Workspace strani i možemo dalje na Microsoft365 stranu konfiguracije.
Microsoft365
Da bi se migracija sa Google Workspace na Microsoft365 uspješno odvila, pred korak na Microsoft strani je prvo napraviti korisničke račune koji će se koristiti na Microsoft365, odnosno iste one koje migriramo s Google Workspace.
Korak 1
Napraviti popis korisničkih računa koji se migriraju uz pripadajuće adrese na koje se migriraju u Microsoft365.
Naprimjer, ako na Google Workspace imamo korisnika „korisnik@gmail.com“, a za njega smo na Microsoft365 napravili korisnički račun „korisnik@o365.com“, tada moramo napraviti popis koji će služiti procesu migracije da zna kako sve mailove od korisnika „korisnik@gmail.com“ mora prebaciti u korisnika „korisnik@o365.com“ a ne u nekog drugog korisnika.
Takav popis mora biti u CSV formatu (comma delimited), a najlakše je to napraviti kroz Excel.
Ovdje sam ja naletio na prvi problem, jer CSV sadržaj mora biti odvojen zarezom (kako mu samo ime kaže), no u službenim uputama nije tako navedeno. Kad sam radio po službenim uputama, dobivao sam greške.
Način koji je meni prošao:
- U novom Excel dokumentu, u ćeliji A1 napisati: EmailAddress,UserName
Ovo će biti header red koji definira što treba raditi- EmailAddress – to je adresa koja se nalazi u Microsoft35, u koju će biti migriran sadržaj korisnika
- UserName – ovo je email adresa korisnika u Google Workspace (može biti ista ili različita u odnosu na Microsoft365 adresu)
- U slijedeće polje se dalje navode korisnici, svaki u svom redu.
Primjer:
korisnik1@o365.com,korisnik1@gmail.com
korisnik2@o365.com,korisnik2@gmail.com

- Kad je popis gotov, File > Save As > ime.csv
Korak 2
Slijedi konfiguracija da se Microsoft365 može uspješno spojiti na Google Workspace.
- U Microsoft365, otići u Exchange admin center
- U izborniku lijevo kliknuti na Migration, a zatim gore desno kliknuti na Endpoints

- Otvorio se novi prozor u kojem treba kliknuti na znak plus (+) Add da se doda nova konfiguracija.
- Otvara se novi prozor – ovdje za tip migracije odabrati Google Workspace.
- Pod Migration endpoint name navesti email adresu servisnog računa kojeg smo napravili kod konfiguracije Google Workspace. To je ona dugačka adresa koja završava sa „iam.gserviceaccunt.com“.
Ovdje sam imao drugi problem; nije mi nikako radilo dok nisam naveo ovu email adresu servisnog računa (jer u službenoj dokumentaciji ne piše tako). - Pod Email address navesti email adresu glavnog admin računa za Google Workspace.
- Kliknuti na Import JSON kako bi ubacili onu JSON datoteku koju smo dobili u koraku 3 konfiguracije Google Workspace gore.
-
- Pod Maximum concurrent migrations navesti broj maksimalnih dopuštenih istovremenih migracija – default vrijednost je 20
- Pod Maximum concurrent incremental syncs može isto 20
- Klikom na Create se završava konfiguracija.
Ovime smo dobili način kako će se Microsoft365 spajati na Google Workspace da se korisnici mogu migrirati.
Korak 3
Sad napokon dolazimo do samog procesa migracije.
- I dalje se nalazimo u Exchange admin center, pod Migration.
- Kliknuti na opciju Add migration batch.
- Otvara se novi prozor.
U prvo polje staviti neko svoje ime po kojem ćete znati o čemu se radi.
U polje ispod odabrati smjer migracije, u našem slučaju je to Migration to to Exchange Online.
Klik na Next za dalje. - Za tip migracije odabrati Google Workspace migration. Klik Next za dalje.
- Pod Prerequisites for Google Workspace migration ne trebamo raditi ništa, jer smo taj dio odradili ranije kada smo slagali Google Workspace konfiguraciju gore.
Samo klik na Next za dalje. - Sad nas pita za Migration endpoint. Ovdje odabrati onaj s popisa koji smo napravili gore u koraku 2 (vrlo vjerojatno će biti samo jedan izbor ako radite samo ovu migraciju).
Klik na Next za dalje. - U slijedećem koraku, odabrati onaj .csv dokument gdje smo definirali email adrese koje će se migrirati i email adrese u koje će se podaci pretočiti.
Napomena: ne bi bilo loše za prvi put napraviti ovaj proces samo za jedan mailbox, da se uvjerite kako sve radi kako treba.
Kad sve prođe uredno i cijeli mailbox se migrira, onda napraviti isto s ostatkom korisnika. - Pod Target delivery domain navesti domenu koja će se koristiti u Microsoft365 (domena organizacije).
Ako ima koja mapa da se želi preskočiti kod migracije (npr. mapa „Spam“), to se može definirati u ovom koraku pod opcijom „Select folder to be skipped or migrated.“ - Za kraj potrebno je navesti nekog primatelja koji će dobiti obavijest kada je migracija gotova.
Email adresa primatelja mora biti s domene koja se nalazi u Microsoft365, ne može biti neka druga vanjska. - Kliknuti na Save i time je počeo proces migracije.
Preostaje pričekati da proces migracije završi. Proces traje dugo ovisno o veličini podataka koje treba migrirati. Po mom iskustvu, za mailbox od nekih 3GB potrebno je da oko sat vremena da sve prođe.
Ako dobijete kakvu grešku, pod Details ćete moći vidjeti zašto migracija nije prošla.
Imajte na umu da smo ostavili opciju da će se proces migracije ručno zaustaviti, neće biti automatski. To znači da će se migracija izvršavati sve dok ju ručno ne prekinemo. Dakle, kada se migracija inicijalno izvrši i sve prebaci, proces će i dalje raditi i gledati svakih 24h da li ima novih stvari za migriranje. Stoga nemojte zaboraviti ručno zaustaviti proces migracije jednom kada se uvjerite da je sve prebačeno kako treba.
Također, u Google Workspace ne bi bilo loše ugasiti servisni račun kada više nije potreban za proces migracije. Nema potrebe da neki račun ima tolike ovlasti.
Eto ga, ovime smo uspješno prebacili korisnike i njihove mailove. Operacija “migracija sa Google Workspace na Microsoft365” uspješno obavljena.
Mogući problem
Autodiscover
Unatoč svim dobrim postavkama i unosima za DNS zapise, mogući problem koji bi se mogao javiti je da kad se želi dodati korisnički račun u Outlook, autodiscover prebacuje login i dalje na Google umjesto da koristi Microsoft365 za povlačenje postavki.
Naime, autodiscover opcija omogućuje da kada se unese email adresa korisnika prilikom dodavanja računa u Outlook, da sustav automatski povuče sve serverske postavke za taj račun. Zato se taj zapis i dodaje u DNS.
Radi se o tome da iako smo mi na našoj strani promijenili sve DNS postavke, iako Microsoft alat za testiranje (Microsoft Remote Connectivity Analyzer) pokazuje da je sve dobro postavljeno – autodiscover i dalje baca na Google, a razlog tome je što su stari DNS zapisi još uvijek u cache-u na Microsoft strani.
Ovaj problem je poznat, ima puno spominjanja oko toga po stranicama i forumima.
Za detaljniji opis problema pogledajte ovaj članak te ovu forumsku raspravu i ovu.
Kad pročitate to, bit će vam jasna problematika.
Provjera da li su se zapisi ažurirali novima ili su i dalje na Google se može napraviti kroz PowerShell preko ovih naredbi:
$headers = @{
"Accept-Encoding" = 'gzip'
"User-Agent" = 'Outlook-Android'
"X-Email" = 'username@domain.com'
}
$Response = Invoke-WebRequest "https://prod-global-autodetect.acompli.net/autodetect/detect" -Headers $headers
$Response.Content | ConvertFrom-Json | select -ExpandProperty protocols
(promijeniti email adresu u adresu kojim se želi testirati)
Rješenje problema
Opcija 1 – jednostavno pričekati da vrijeme učini svoje, te da se taj cache ažurira novim DNS zapisima. Problem može biti što se ne zna točno koliko je vremena potrebno da se to ažurira, jer neki spominju 48h, dok drugi navode kako im je tek nakon tjedan dana proradilo.
Opcija 2 – kada se dodaje novi korisnički račun u Outlook, odabrati opciju da se ručno postavi račun. U slijedećem prozoru odabrati opciju Microsoft365, a dalje će sve ići automatski. Na ovaj način neće izbacivati Google login. Vrijedi isto za Outlook na računalu ili na pametnom mobitelu.
U svakom slučaju, kada završi migracija sa Google Workspace na Microsoft365, treba proći dan-dva da se sve ustabili i promijene propagiraju kroz cijeli Internet.
Zato je moj prijedlog ovakav posao početi raditi u petak popodne, da se preko vikenda sve riješi i ponedjeljak dočekate spremno i bez poziva korisnika.