Hướng dẫn di chuyển email từ Google Workspace lên Exchange Online

08/06/2026 · Admin

Hướng dẫn di chuyển email từ Google Workspace lên Exchange Online

Google Workspace migration của Microsoft là cơ chế di chuyển theo giai đoạn từ Gmail sang Exchange Online. Khác với IMAP migration chỉ sao chép email, quy trình này có thể chuyển Mail, Calendar, Contacts và Rules, đồng thời duy trì luồng thư cho cả người dùng đã chuyển và chưa chuyển trong suốt dự án. Bài viết dưới đây trình bày chi tiết cách triển khai bằng Exchange admin center (EAC), từ thiết kế routing domain, tạo MailUser, cấp quyền Google API, tạo endpoint và batch cho đến hoàn tất migration và đổi MX.

Sơ đồ di chuyển Google Workspace qua service account và migration batch sang Exchange Online
Luồng migration theo giai đoạn: chuẩn bị hai routing domain, cấp quyền API cho service account, tạo MailUser và endpoint, đồng bộ theo batch, hoàn tất từng nhóm người dùng rồi chuyển MX chính sang Exchange Online.
Phạm vi bài viết: hướng dẫn này bám theo quy trình Google Workspace migration dạng batch trong Exchange admin center mà Microsoft công bố tại tài liệu được dẫn ở cuối bài. Microsoft hiện cũng cung cấp trải nghiệm Google migration hợp nhất trong Microsoft 365 admin center; tenant có không quá 1.000 người dùng có thể được hướng tới Simplified Gmail migration. Khi triển khai thực tế, hãy kiểm tra wizard đang có trên tenant và chọn phương án phù hợp với quy mô, yêu cầu coexistence và phạm vi dữ liệu.

1. Google Workspace migration chuyển được dữ liệu nào?

Loại dữ liệu Khả năng di chuyển Giới hạn cần lưu ý
Mail và thư mục/nhãn Gmail Vacation settings và Automatic reply settings không được chuyển. Thư quá lớn phụ thuộc giới hạn transport của tenant đích; giá trị mặc định Microsoft nêu là 35 MB.
Calendar Shared calendars, màu sự kiện và đặt phòng họp không được chuyển theo luồng cơ bản.
Contacts Tối đa ba địa chỉ email cho mỗi contact; Gmail tags, URL của contact và custom tags không được chuyển.
Gmail filters / Rules Rule được tạo trong Outlook nhưng mặc định bị tắt. Người dùng phải kiểm tra logic trước khi bật.
Rooms, resources, delegates, permissions và Tasks Cần quy trình bổ sung Microsoft có cmdlet và hướng dẫn riêng. Không nên mặc định rằng batch Mail/Calendar/Contacts cơ bản đã chuyển đầy đủ các đối tượng này.
Google Drive, Shared drives và Google Groups Không thuộc batch Exchange này Drive cần Migration Manager hoặc trải nghiệm Google migration hợp nhất; Groups cần kế hoạch riêng.
Google Workspace batch migration = Mail + Calendar + Contacts + Rules + cơ chế coexistence theo từng nhóm người dùng

2. Hiểu kiến trúc coexistence trước khi cấu hình

Migration không đổi MX của domain chính ngay từ đầu. Trong phần lớn thời gian dự án, MX của example.com vẫn trỏ tới Google Workspace. Hai subdomain định tuyến được dùng để chuyển thư đúng nơi trong giai đoạn một số người dùng đã ở Exchange Online còn số khác vẫn ở Gmail.

Domain minh họa Trỏ đến Vai trò
example.com Google Workspace trước cutover; Microsoft 365 sau cutover cuối Domain email chính mà người dùng và đối tác sử dụng.
o365.example.com Exchange Online Protection Target delivery domain dùng để chuyển thư từ Google sang mailbox Microsoft 365.
gsuite.example.com Google Workspace Routing domain dùng để chuyển thư từ Microsoft 365 về mailbox Gmail của người dùng chưa hoàn tất migration.

Trước migration, mỗi người dùng trong Microsoft 365 tồn tại dưới dạng MailUser, chưa phải mailbox Exchange Online. MailUser có địa chỉ chính [email protected], một proxy address tại [email protected], và ExternalEmailAddress trỏ tới [email protected]. Khi batch bắt đầu, dịch vụ migration chuyển MailUser thành mailbox và thiết lập forwarding cần thiết để người dùng vẫn làm việc ở Gmail trong thời gian đồng bộ.

Khi quản trị viên chọn Complete migration batch, hệ thống chạy incremental sync cuối, bỏ forwarding từ Microsoft 365 về Google và thêm forwarding từ Google sang Microsoft 365. Người dùng trong batch đó bắt đầu làm việc tại Exchange Online, trong khi những người chưa migrate vẫn tiếp tục ở Gmail.

3. Lập kế hoạch migration

  1. Kiểm kê user, aliases, dung lượng Gmail, số lượng item, lịch, contact, delegate, room/resource và ứng dụng đang gửi mail.
  2. Phân loại dữ liệu nằm ngoài batch cơ bản như Google Drive, Groups, Tasks, shared calendars và permissions.
  3. Thêm và xác minh domain chính trong Microsoft 365 nhưng chưa đổi MX.
  4. Tạo hai routing subdomain và kiểm tra luồng thư hai chiều.
  5. Tạo người dùng Microsoft 365 dưới dạng MailUser, chưa gán Exchange license trước khi batch bắt đầu.
  6. Chuẩn bị quyền Google Cloud, service account, API và domain-wide delegation.
  7. Tạo endpoint và chạy batch pilot đại diện cho nhiều loại mailbox.
  8. Đồng bộ, kiểm tra Data Consistency Score, xử lý skipped items và hoàn tất pilot.
  9. Chia các batch chính theo phòng ban, địa điểm hoặc đợt cutover.
  10. Sau khi toàn bộ user hoàn tất, đổi MX domain chính sang Microsoft 365, kiểm tra DNS và tháo cấu hình tạm khi hết thời gian rollback.
Không bật MRM/Archive trong lúc migration: Microsoft khuyến nghị tắt Default MRM Policy và các archive policy đối với mailbox đang chuyển. Nếu policy tự di chuyển hoặc xóa item trong lúc dịch vụ đang đối soát, report có thể ghi nhận item “missing”, gây khó phân biệt giữa thay đổi hợp lệ và mất dữ liệu thật.

4. Checklist quyền và điều kiện ban đầu

Hạng mục Yêu cầu tối thiểu Ý nghĩa
Exchange Online Quản trị viên có ít nhất role group Recipient Management Cho phép quản lý recipient, endpoint và batch theo quyền được cấp.
Google Workspace Quyền quản trị Google Workspace và quyền cấu hình API Controls Cần để cấp domain-wide delegation và kiểm tra domain/subdomain.
Google Cloud Project CreatorService Account Creator Cho phép wizard tự tạo project, service account, service key và bật API. Quyền có thể cần đến 15 phút để có hiệu lực.
Domain Domain chính đã verified trong Microsoft 365 TXT verification có thể làm trước mà không ảnh hưởng MX hiện tại.
DNS Có quyền tạo MX/TXT/CNAME cho domain chính và routing subdomain Cần cho coexistence và cutover cuối.
Forwarding Google Workspace cho phép đặt SMTP forwarding Nếu tổ chức chặn người dùng đặt forwarding, migration tool cũng không thể tạo forwarding khi hoàn tất batch.
License Có đủ license chứa Exchange Online Chỉ gán sau khi batch bắt đầu chuyển MailUser thành mailbox; Microsoft cho thời hạn 30 ngày để gán.

5. Tạo routing domain về Microsoft 365

Ví dụ doanh nghiệp dùng domain chính example.com, hãy tạo o365.example.com để nhận thư tại Microsoft 365 trong thời gian coexistence.

  1. Đăng nhập Google Admin console.
  2. Thêm o365.example.com dưới dạng User alias domain. Dùng subdomain của domain chính thường giúp Google tự xác minh.
  3. Trong Microsoft 365 admin center, vào Settings > Domains > Add domain và thêm cùng subdomain.
  4. Xác minh domain và lấy MX target Microsoft 365 cung cấp, ví dụ dạng example-com.mail.protection.outlook.com.
  5. Tại DNS provider, tạo MX cho o365.example.com trỏ tới target này.
  6. Kiểm tra subdomain có trạng thái verified/accepted domain trong Microsoft 365.

o365.example.com sẽ được chọn tại trường Target delivery domain khi tạo batch. Microsoft lưu ý không nên dùng tùy tiện domain tenant.onmicrosoft.com thay cho routing subdomain vì Google có thể yêu cầu xác minh forwarding address riêng cho từng user.

6. Tạo routing domain về Google Workspace

  1. Trong Google Admin console, thêm gsuite.example.com dưới dạng User alias domain.
  2. Hoàn tất xác minh cho đến khi domain có trạng thái Active.
  3. Cấu hình MX của gsuite.example.com theo đúng giá trị Gmail hiện hành do Google cung cấp.
  4. Chờ Google áp dụng alias domain cho người dùng; Microsoft lưu ý quá trình này có thể cần tới 24 giờ.
  5. Gửi thử thư tới [email protected] và xác nhận thư vào đúng Gmail mailbox.

Nếu Microsoft 365 đang dùng Remote Domain không mặc định hoặc đã chặn automatic forwarding, hãy bảo đảm remote domain gsuite.example.com được phép automatic forwarding. Nếu không, thư của người dùng chưa migrate có thể không quay về Google đúng cách.

7. Provision người dùng dưới dạng MailUser

Mỗi người dùng sẽ migrate cần có một tài khoản Microsoft 365 mail-enabled nhưng chưa có mailbox Exchange Online. Thuộc tính quan trọng được minh họa như sau:

Thuộc tính Ví dụ Giải thích
User principal name / MicrosoftOnlineServicesID [email protected] Tài khoản đăng nhập Microsoft 365 và địa chỉ nhận diện đích.
ExternalEmailAddress [email protected] Chuyển thư từ Microsoft 365 về Gmail trong giai đoạn user chưa cutover.
Proxy address tại routing domain Microsoft 365 [email protected] Địa chỉ mà Google dùng để chuyển thư sang mailbox Exchange Online sau khi hoàn tất batch.
Exchange Online license Chưa gán trước batch Batch chuyển MailUser thành mailbox; sau đó gán license trong vòng 30 ngày.

Ví dụ tạo một MailUser bằng Exchange Online PowerShell:

$password = Read-Host "Temporary password"
-AsSecureString

New-MailUser
-Name "An Nguyen"
-MicrosoftOnlineServicesID [email protected]
-Password $password
-ExternalEmailAddress [email protected]

Set-MailUser [email protected]
-EmailAddresses @{add="smtp:[email protected]"}

Với số lượng lớn, có thể tạo tài khoản bằng Microsoft 365 admin center, PowerShell, CSV hoặc Microsoft Entra Connect tùy kiến trúc danh tính. Sau khi provision, kiểm tra từng user bằng Get-MailUser, đặc biệt là địa chỉ chính, ExternalEmailAddress và proxy address của routing domain.

8. Chuẩn bị Google Cloud và service account

Exchange Online dùng Google APIs thay vì mật khẩu từng Gmail mailbox. Service account đại diện cho dịch vụ migration, còn domain-wide delegation cho phép service account truy cập dữ liệu người dùng trong phạm vi OAuth được quản trị viên phê duyệt.

8.1. Phương án tự động trong EAC

  1. Mở Exchange admin center, vào Migration > Add migration batch.
  2. Chọn Migration to Exchange Online và loại Google Workspace (Gmail) migration.
  3. Tại trang prerequisites, mở Automate the configuration of your Google Workspace for migration và chọn Start.
  4. Đăng nhập bằng tài khoản Google có quyền tạo project và service account.
  5. Wizard tự tạo Google Cloud project, service account, service key và bật các API cần thiết.
  6. Tải file JSON có tên dạng projectid-*.json. Đây là private key, phải được bảo quản như bí mật quản trị.
  7. EAC hiển thị Client ID, danh sách Scope và liên kết tới Google Admin API Controls.
  8. Trong Google Admin console, chọn Security > Access and data control > API Controls > Manage Domain Wide Delegation, chọn Add new, dán Client ID và Scope đúng nguyên văn rồi Authorize.

8.2. Phương án thủ công

Nếu automation không phù hợp với chính sách Google Cloud của doanh nghiệp, quản trị viên có thể tự tạo project và service account. Quy trình thủ công cần:

  1. Tạo Google Cloud project riêng cho migration.
  2. Tạo service account và bật domain-wide delegation.
  3. Tạo JSON key.
  4. Bật Gmail API, Google Calendar API, Contacts API và People API.
  5. Trong Google Admin API Controls, thêm Client ID của service account và các OAuth scopes Microsoft yêu cầu.

Tài liệu thủ công của Microsoft nêu chuỗi scope tham khảo sau. Khi wizard hiện scope khác, hãy ưu tiên đúng giá trị wizard cung cấp vì Microsoft và Google có thể điều chỉnh yêu cầu:

https://mail.google.com/,
https://www.googleapis.com/auth/calendar,
https://www.google.com/m8/feeds/,
https://www.googleapis.com/auth/gmail.settings.sharing,
https://www.googleapis.com/auth/contacts
Bảo vệ JSON key: file JSON chứa private key của service account. Không gửi qua email, không đưa vào kho mã nguồn và không lưu chung với danh sách user. Chỉ cấp quyền đọc cho nhóm migration, ghi nhận người sử dụng, sau đó revoke/delete key khi dự án kết thúc và hết thời gian rollback.

9. Tạo migration endpoint

Endpoint lưu thông tin kết nối Google Workspace và giới hạn đồng thời mà các migration batch sẽ sử dụng.

  1. Tại trang Set a migration endpoint, chọn endpoint có sẵn hoặc Create a new migration endpoint.
  2. Nhập tên endpoint, ví dụ GWS-EXO-Endpoint.
  3. Đặt Maximum concurrent migrations.
  4. Đặt Maximum concurrent incremental syncs.
  5. Nhập email Google Workspace super admin dùng để kiểm tra kết nối.
  6. Chọn Import JSON và tải file key đã tạo.
  7. Hoàn tất, chọn endpoint vừa tạo và chuyển sang bước nhập user.
Tham số Mặc định Microsoft nêu Cách lựa chọn
Migration Endpoint Name Không có Dùng tên dễ truy vết theo nguồn và dự án, ví dụ GWS-HN-2026. Một endpoint có thể được dùng cho nhiều batch cùng nguồn.
Maximum concurrent migrations 20 Số mailbox được initial sync đồng thời. Giữ mặc định khi pilot; giảm nếu Google API quota hoặc tenant bị throttling, tăng thận trọng sau khi đã đo ổn định.
Maximum concurrent incremental syncs 10 Số mailbox được đồng bộ thay đổi tăng dần cùng lúc. Giá trị quá cao có thể làm tăng tải/quota phía Google.
Email address Google Workspace super admin Tài khoản dùng để kiểm tra service account có thể impersonate và gọi API đúng tenant.
JSON key File projectid-*.json Private key của service account. Nếu key bị revoke hoặc xóa giữa dự án, endpoint sẽ lỗi xác thực.

Có thể kiểm tra và tạo endpoint bằng Exchange Online PowerShell:

$key = [System.IO.File]::ReadAllBytes("C:\Migration\gws-key.json")

Test-MigrationServerAvailability
-Gmail
-ServiceAccountKeyFileData $key
-EmailAddress [email protected]

New-MigrationEndpoint
-Gmail
-ServiceAccountKeyFileData $key
-EmailAddress [email protected]
-Name "GWS-EXO-Endpoint"

10. Tạo file CSV người dùng

CSV của Google Workspace migration không chứa mật khẩu. Header được phép gồm:

Cột Bắt buộc Giải thích
EmailAddress Địa chỉ của recipient đích trong Microsoft 365. Trong staged flow, recipient này phải là MailUser đã provision đúng.
Username Không Địa chỉ Gmail nguồn. Chỉ cần khi địa chỉ Gmail khác EmailAddress; nếu giống nhau có thể bỏ cột này.

Lưu CSV dạng UTF-8, dùng dấu phẩy làm delimiter và không thêm cột lạ. Chạy pilot với 5-20 user gồm mailbox nhỏ, lớn, nhiều nhãn, nhiều lịch, nhiều contact và một user có rule phức tạp. Không dùng toàn bộ công ty làm batch thử đầu tiên.

11. Tạo migration batch trong EAC

  1. Vào EAC > Migration > Add migration batch.
  2. Đặt Give migration batch a unique name, ví dụ GWS-Pilot-01.
  3. Chọn Migration to Exchange Online.
  4. Chọn Google Workspace (Gmail) migration.
  5. Hoàn tất hoặc xác nhận phần prerequisites.
  6. Chọn migration endpoint.
  7. Import CSV user.
  8. Tại Target delivery domain, chọn o365.example.com.
  9. Chọn dữ liệu cần chuyển: Mail, Calendar, Contacts, Rules.
  10. Ở trang schedule, nhập email nhận thông báo, chọn thời điểm bắt đầu và cách hoàn tất.
  11. Chọn Save rồi Done.
Cấu hình batch Khuyến nghị Giải thích
Batch name GWS-Dept-Date-Wave Tên phải duy nhất, dễ liên hệ với danh sách user và lịch cutover.
Target delivery domain o365.example.com Địa chỉ đích tạm để forwarding từ Google sang Exchange Online sau completion.
Migration filtering options Chọn đúng phạm vi đã thống nhất Bỏ chọn Rules nếu doanh nghiệp không muốn chuyển filter; PowerShell có thể dùng -SkipRules.
Start Automatic cho pilot nhỏ hoặc Manual/Scheduled cho đợt chính Manual giúp kiểm soát thời điểm bắt đầu khi danh tính, license và helpdesk đã sẵn sàng.
Complete Manually complete Cho phép kiểm tra dữ liệu trước khi đảo chiều forwarding và chuyển người dùng sang Exchange Online.
Notification emails Nhóm migration và helpdesk Không dùng duy nhất email của một cá nhân; report phải được theo dõi suốt đợt cutover.

Lệnh PowerShell tương đương:

$csv = [System.IO.File]::ReadAllBytes("C:\Migration\gws-pilot.csv")

New-MigrationBatch
-SourceEndpoint "GWS-EXO-Endpoint"
-Name "GWS-Pilot-01"
-CSVData $csv
-TargetDeliveryDomain "o365.example.com"

Start-MigrationBatch
-Identity "GWS-Pilot-01"

12. Gán Exchange Online license đúng thời điểm

Khi batch bắt đầu, MailUser trong batch được chuyển thành mailbox Exchange Online. Microsoft yêu cầu gán license chứa Exchange Online sau thời điểm này và cho phép tối đa 30 ngày để hoàn tất cấp license. Trong thực tế, nên gán ngay sau khi xác nhận recipient đã thành mailbox để tránh mailbox không license và giảm rủi ro vận hành.

  1. Kiểm tra user không còn xuất hiện trong Get-MailUser.
  2. Kiểm tra mailbox bằng Get-Mailbox [email protected].
  3. Gán license trong Microsoft 365 admin center hoặc qua Microsoft Graph/automation hiện có.
  4. Chưa yêu cầu người dùng làm việc ở Outlook cho đến khi batch được hoàn tất và forwarding đã đổi chiều.

13. Theo dõi trạng thái và kiểm tra dữ liệu

Trong EAC, chọn batch và mở View details. Theo dõi từng user thay vì chỉ nhìn trạng thái tổng của batch.

Trạng thái/chỉ số Ý nghĩa Hành động
Queued User đang chờ connection slot Bình thường nếu endpoint đang dùng hết concurrent migrations.
Syncing Đang provision hoặc sao chép dữ liệu Theo dõi tốc độ, quota Google và lỗi API.
Synced Initial sync thành công, sẵn sàng để kiểm tra và complete Đối soát Mail, Calendar, Contacts, Rules và skipped items.
Failed Provisioning hoặc đồng bộ thất bại Mở report, sửa nguyên nhân rồi Resume migration.
Items Synced / Items Skipped Số item thành công và bị bỏ qua Không bỏ qua skipped items chỉ vì tỷ lệ nhỏ; phân loại theo loại lỗi và dữ liệu nghiệp vụ.
Data Consistency Score Perfect, Good, Investigate hoặc Poor Investigate cần xem và có thể phải approve skipped items; Poor cần liên hệ Microsoft Support.
Last successful sync date Lần đồng bộ tăng dần gần nhất Phải mới và phù hợp trước khi complete/cutover.

Các lệnh theo dõi hữu ích:

Get-MigrationBatch "GWS-Pilot-01"
| Format-List Status,TotalCount,SyncedCount,FailedCount,DataConsistencyScore

Get-MigrationUser -BatchId "GWS-Pilot-01"
| Format-Table Identity,Status,ItemsSynced,ItemsSkipped

Get-MigrationUserStatistics [email protected]
-IncludeReport | Format-List

Với score Investigate, sau khi đã xem và chấp nhận skipped items, có thể dùng Set-MigrationBatch -Identity "GWS-Pilot-01" -ApproveSkippedItems hoặc approve theo từng user. Không cố ép batch có score Poor; Microsoft khuyến nghị mở support case.

14. Hoàn tất migration batch

Chỉ complete khi initial sync đã xong, dữ liệu pilot được xác nhận, mailbox đã có license và helpdesk sẵn sàng hướng dẫn người dùng chuyển client.

  1. Trong EAC, vào Migration và chọn batch có trạng thái Synced.
  2. Chọn Complete migration batch.
  3. Trong details pane, chọn Confirm.
  4. Hệ thống chạy incremental sync cuối.
  5. Forwarding từ Microsoft 365 về Google được gỡ.
  6. Forwarding từ Google sang Microsoft 365 được tạo cho user vừa hoàn tất.
  7. Trạng thái batch chuyển thành Completed.
  8. Người dùng bắt đầu làm việc bằng Outlook on the web, Outlook hoặc client Microsoft 365.
Completion là thời điểm cutover của từng batch: đây không chỉ là nút đánh dấu “đã xong”. Nó chạy sync cuối và thay đổi hướng chuyển tiếp thư. Vì vậy phải thống nhất thời điểm với người dùng, helpdesk, nhóm danh tính và nhóm DNS/mail flow.

15. Kiểm tra sau completion từng batch

  1. Gửi thư từ một user chưa migrate ở Gmail tới user đã migrate và kiểm tra Exchange Online nhận được.
  2. Gửi chiều ngược lại từ Exchange Online tới user còn ở Gmail.
  3. Gửi và nhận thư Internet.
  4. Kiểm tra Inbox, Sent, nhãn/thư mục quan trọng, attachment và thư có tiếng Việt.
  5. Kiểm tra Calendar, recurring meetings, time zone và lời mời họp.
  6. Kiểm tra Contacts, số địa chỉ email và các trường quan trọng.
  7. Mở Rules trong Outlook; kiểm tra kỹ rồi mới bật rule cần dùng.
  8. Kiểm tra mobile device và Outlook profile; tránh để người dùng tiếp tục gửi từ Gmail sau cutover.
  9. Xác nhận forwarding không tạo vòng lặp giữa hai hệ thống.

16. Chuyển MX domain chính sau khi tất cả batch hoàn tất

Khi toàn bộ người dùng đã ở Exchange Online, cập nhật DNS của example.com theo giá trị hiển thị trong Microsoft 365 admin center > Settings > Domains.

Bản ghi Mục đích Lưu ý
MX Đưa thư mới của domain chính vào Exchange Online Protection Dùng đúng target Microsoft cung cấp; bỏ MX Google sau khi xác nhận và hết phương án rollback.
Autodiscover CNAME Giúp Outlook tự tìm Exchange Online Trỏ tới giá trị Microsoft 365 yêu cầu cho domain.
SPF TXT Khai báo nguồn gửi hợp lệ Chỉ có một SPF record. Trong chuyển tiếp, giữ các nguồn Google/ứng dụng còn gửi; loại bỏ khi đã ngừng.
DKIM Ký thư outbound bằng Microsoft 365 Tạo CNAME và bật DKIM cho domain sau khi sẵn sàng.
DMARC Kiểm soát spoofing và báo cáo Rà soát alignment của toàn bộ nguồn gửi trước khi tăng policy.

Giảm TTL của MX trước ngày cutover đủ sớm để giá trị cũ hết hiệu lực. Không xóa ngay routing subdomain, aliases, forwarding hoặc Google tenant. Duy trì trong thời gian giám sát/rollback đã được phê duyệt, sau đó tháo theo checklist có kiểm soát.

17. Các lỗi thường gặp và cách xử lý

Lỗi/hiện tượng Nguyên nhân thường gặp Cách xử lý
Endpoint không xác thực được JSON key sai/revoked, email admin sai, scope thiếu hoặc domain-wide delegation chưa lan truyền Chạy lại Test-MigrationServerAvailability, kiểm tra Client ID, scope và chờ từ 15 phút đến 24 giờ nếu vừa cấp quyền.
GmailForwardingAddressRequiresVerificationException Google yêu cầu xác minh forwarding address hoặc routing domain chưa đúng Dùng subdomain của domain chính, xác minh domain và làm theo lưu ý prerequisites của Microsoft; trong trường hợp lỗi này Microsoft cho biết có thể bỏ bước tạo subdomain forwarding phía Gmail theo hướng dẫn tương ứng.
User không được provision Không có MailUser, địa chỉ chính/proxy sai hoặc đã lỡ tạo mailbox trước theo kiến trúc không phù hợp Đối chiếu EmailAddress, ExternalEmailAddress và routing proxy; sửa recipient trước khi chạy lại.
Mail loop hoặc NDR trong coexistence ExternalEmailAddress, proxy address, MX routing domain hoặc automatic forwarding sai Vẽ lại đường đi thư cho user đã/chưa migrate, kiểm tra cả hai subdomain và remote domain forwarding.
Calendar/Contacts chậm hoặc lỗi Google API quota/throttling hoặc concurrent migrations quá cao Giảm concurrency, chia batch nhỏ hơn, chạy ngoài giờ và theo dõi quota phía Google.
Rules có nhưng không chạy Microsoft chủ động để rules migrated ở trạng thái disabled Kiểm tra rule trong Outlook, sửa điều kiện/action không tương thích rồi bật có chọn lọc.
Batch không complete được Data Consistency Score Investigate/Poor hoặc có user Failed Xem skipped item details; approve Investigate sau đánh giá, còn Poor phải liên hệ Microsoft Support.
Mailbox không license MailUser đã thành mailbox nhưng chưa được gán license Gán license Exchange Online ngay sau khi batch bắt đầu; không vượt thời hạn 30 ngày Microsoft quy định.
Thư lớn bị bỏ qua Vượt giới hạn message/transport của tenant đích Đánh giá giới hạn trước migration, điều chỉnh khi phù hợp và lưu/xử lý riêng item vượt giới hạn.

18. Tối ưu cho dự án lớn

  • Dùng batch pilot có dữ liệu đại diện, không chỉ chọn mailbox nhỏ và “sạch”.
  • Chia wave theo phòng ban và quan hệ cộng tác để giảm thời gian user làm việc chéo hai nền tảng.
  • Không tăng concurrency trước khi có số liệu quota, tốc độ và tỷ lệ lỗi từ pilot.
  • Dùng mailbox analysis trước migration với PowerShell nếu có mailbox rất lớn; Microsoft hỗ trợ prescan Google Workspace và tạo báo cáo theo folder/label.
  • Cân nhắc -ExcludeFolders để bỏ dữ liệu không cần thiết, đặc biệt các nhãn Gmail làm tăng trùng lặp biểu diễn.
  • Dùng -SkipRules nếu doanh nghiệp muốn xây lại rule trên Outlook thay vì chuyển filter Gmail.
  • Lập kế hoạch riêng cho rooms, resources, delegates, permissions và tasks nếu đây là dữ liệu nghiệp vụ bắt buộc.
  • Chuẩn bị tài liệu người dùng về Outlook, mobile, lịch, danh bạ, rule và khác biệt giữa nhãn Gmail với folder Exchange.
  • Giữ log thay đổi DNS, JSON key, OAuth scope, batch membership, license assignment và phê duyệt skipped items.

19. Checklist nghiệm thu

  1. Domain chính và hai routing subdomain đã được xác minh đúng nơi.
  2. MX của o365 trỏ Microsoft 365; MX của gsuite trỏ Google.
  3. MailUser có đúng ExternalEmailAddress và proxy address trước khi vào batch.
  4. Google APIs, service account, JSON key và domain-wide delegation hoạt động.
  5. Toàn bộ mailbox sau khi batch bắt đầu đã được gán license Exchange Online.
  6. Không còn user Failed chưa xử lý; skipped items và Data Consistency Score đã được phê duyệt đúng quy trình.
  7. Mail, Calendar, Contacts và Rules của pilot đã được kiểm tra.
  8. Luồng mail giữa user đã migrate, chưa migrate và Internet hoạt động hai chiều.
  9. Toàn bộ batch đã Completed trước khi đổi MX chính.
  10. MX, Autodiscover, SPF, DKIM và DMARC đã được cập nhật/kiểm tra.
  11. Google Drive, Groups, rooms/resources, permissions, delegates và tasks có kế hoạch riêng nếu cần.
  12. JSON key đã được revoke/delete và routing tạm chỉ được tháo sau thời gian rollback.

Kết luận

Di chuyển từ Google Workspace lên Exchange Online không chỉ là thao tác sao chép Gmail. Thành công của dự án phụ thuộc vào kiến trúc coexistence, đặc biệt là hai routing subdomain, trạng thái MailUser, forwarding hai chiều và thời điểm hoàn tất từng batch. Service account và domain-wide delegation giúp tránh thu thập mật khẩu người dùng, nhưng đòi hỏi quản lý chặt JSON key, API scopes và quyền Google Cloud.

Với doanh nghiệp nhỏ, trải nghiệm Simplified Gmail migration mới trong Microsoft 365 admin center có thể giảm số bước. Với dự án cần chia nhiều wave, duy trì cả Gmail và Exchange Online trong thời gian dài hoặc kiểm soát chi tiết theo batch, quy trình EAC trong bài này vẫn là nền tảng quan trọng để thiết kế và xử lý sự cố.

Nguồn tham khảo Microsoft

Lưu ý: giao diện Google Admin, Google Cloud, Microsoft 365 admin center và Exchange admin center có thể thay đổi theo thời gian hoặc tenant. Trước ngày cutover, hãy đối chiếu lại wizard thực tế, DNS values, OAuth scopes và tài liệu Microsoft mới nhất.