Exchange OnlineからGmailへ移行するツールを検証してみた
2025年6月10日、Microsoft365のExchange Online(Outlook)からGoogle WorkspaceのGmail, Calendarへ移行する為のツールが公開されました。これでOneDrive, Sharepoint Online, Teamsとならんで四本目。メール側はGWMMOやGWMMEなどがありましたが、個人利用時の障害やサーバー立てが必須などハードルがありました。
今回のツールは管理コンソールから一発なので、細かい指示は出来ませんが、小規模組織であればわざわざSIerなんて頼ることなくデータ移行することが可能です。
目次
今回利用するツール
Business Starter以上で利用することが可能です。Google Workspaceであれば全エディションで利用できる状況です。管理者用ツールであるため、Google WorkspaceおよびMicrosoft365の特権管理者権限が必要になります。
過去のツール類に関しては以下のエントリーに一括でまとめています。
制約事項
本ツールは以下のような制約要件があります。よって大規模な移行には向いていない為、中規模以上の場合は、GWMMEやGoogle Workspace Migrateを利用する必要があります。
- 一度に250人のアカウントを移行させることが出来ます(ドキュメント上まだ100人となっていますが、一般公開された時点で250人上限となりました)
- メールの移行ツールですが、カレンダーも移行させることが可能です。
- 差出人ヘッダのない下書きメールは移行対象外です。
- メモ内のメールは移行対象外です
- オンライン・アーカイブは移行対象外です
- 個人のアカウント移行用ツールであるため、共有メールボックスやパブリックフォルダなどは移行対象外です。
- 事前にGoogle Workspace側に移行先としてのユーザアカウントを作っておく必要があります。
- なお、オンプレのExchange Serverは対象外です(オンプレ用のツールは2025年5月31日に廃止されました)
個人で利用するとPSTファイルをアップするGWMMOは手軽でカレンダーなども移行できますが、同時に大量の人間がアップを始めた場合、社内ネットワークが破綻します。非常に小規模ならば問題ないですが数十人以上となった場合にはテクニックが必要です。一方、この新しいデータ移行サービスについては、ネットワーク上で完結する為手軽であり高速。
複雑なレベルでMicrosoft365を使い込んでいなければ選択肢として十分入ってくるのではないかと思います。
尚、メール移行は時間がかかるので、その間の受信メールについてはメールの転送などをMicrosoft365側で掛けておいて、差分移行でカバーするような形にすると良いでしょう。カレンダーは転送は出来ないので差分実行でカバーするしかありません。PowerShellを使って全ユーザのメール転送をセットしておくと良いでしょう。
事前準備
このツールはMicrosoft365側のグローバル管理者権限が別途必要です。既に利用可能な状態になっているので、管理者権限があれば移行を即時に開始することが可能です。公式の移行手順書はこちらになります。
Microsoft365と接続する
以下の手順で移行ツールとMicrosoft365を接続する必要があります。
- 管理コンソールにログインする
- 左サイドバーより、データ→データのインポートとエクスポート→データ移行(新規)をクリックする
- パネルに「Microsoft Exchange Online」があるので、移行をクリックする
- Microsoft Exchange Onlineに接続するをクリックする
- Microsoftアカウントログイン画面になるので、M365側特権管理者のアカウントでログインする
- 要求されているアクセス許可が出てくるので、承諾をクリックする
図:管理コンソールからポチッと作業
図:承認作業
データのコピー元指定
ユーザーマッピングファイルの作成
まずはユーザーアカウントをマッピングするCSVファイルを作成する必要があります。
- サンプルのCSVファイルのダウンロードをクリック
- LibreOfficeなどでCSVの編集作業を開始
- Source Exchange Emailの列にMicrosoft365側のメアドを列挙していきます。
- 保存したCSVを、ツール側のCSVをアップロードをクリックして指定
図:LibreOfficeで編集中の様子
IDマッピングファイルの作成
次に、相手側のメールアカウントとGoogle Workspace側のメールアカウントをマッピングする為のCSVを作成します。ステップ3の作業になります。
- サンプルのCSVファイルのダウンロードをクリック
- LibreOfficeなどでCSVの編集作業開始
- Source Emailには、Microsoft365側ドメインのメールアドレスを記載する
- Destination Emailには、Google Workspace側ドメインのメールアドレスを記載する
- 保存したCSVを、ツール側のCSVをアップロードをクリックして指定
図:相手側とGWS側の2つを対照的に記載する
コピーするメールとカレンダーの予定を選択
ステップ4のこの設定はオプション項目なので、特に指定がないのであれば、全メールやカレンダーをただ持ってくるという設定になります。
ここでは以下のような指定が可能です
- 対象期間の開始日付を指定できます(直近1年分だけで良ければより移行は早くなる)。この日付指定は必須項目です。
- カレンダーとメールのチェックを外すことで、どちらか一方のみといった移行が可能です。
- 迷惑メールや削除済みメールについてのオプション指定
- メインカレンダー以外に追加してるサブカレンダーも移行対象に含める場合のチェック
- カレンダー等共有でアクセス権限を割り当ててる場合、組織内であれば自動的にマッピングを追加してくれるオプション。
最後に変更を保存をクリックして完了となります。
図:メール移行オプション
移行を実行する
いよいよ実行しますが色々と注意点があります。以下の手順をその必要性まで含めて理解し実行する必要があります。
移行実行開始
手順的には手順5の移行するにある「移行を開始ボタン」をクリックするだけなのですが、この時点で
- データ移行用のクライアントIDが自動発行されます
- クライアントIDに対して自動的に対象APIに対するドメイン全体の委任が自動付与されます。
といった作業が行われます。
移行完了後、レポートを元に失敗した内容などを確認してみたりしますが、これで完了ではなく移行開始時から完了までの間のデータやエラーになってるけれども再実行で救えるものもあるので、次項の差分実行を必ずを行いましょう。
図:移行作業中の様子
差分実行をする
以降が完了したら同じ画面上に差分以降を実行するボタンが出てくるのでクリックして実行する。移行開始時から完了時までの間のデータや、エラーになってるけれどネットワークエラーなどでエラーとなってるものについては再実行をすることで移行できます。再実行で重複することはありません。
今回たまたま2通、失敗したメールがありました。ので、さっそく実行をしてみる。どうしても最後まで移行出来ないおかしなメールというのは存在するので、その場合はレポートから調べる必要があります。
図:差分移行を実行して救済を試みる
移行結果の比較
差分実行を行った結果としてログデータをエクスポートすることが可能です。移行レポートとユーザーレポートの2種類があり、双方をダウンロードして中身を確認し、最終的にエラーとなったものを特定しましょう。本人に通知して手動でメールを移動してもらうか?(メールの転送など)EML形式でダウンロードしてドライブにでも保存してもらうか?を行ってもらいます。
ログデータから個人宛用のエラーレポートを生成するようなものを用意しておくと尚良いでしょう。レポートはGoogleスプレッドシート形式で出力されます。
- ユーザーレポートはユーザ単位の成功したもの失敗したものが列挙されているだけです。
- 移行レポートはエラーなどが記載されたものになるので、こちらで問題のメールを特定できます。
移行レポートのDescriptionにエラー詳細があり、例えばウイルスが付いてるよといった形で内容を把握出来ます。Target Identifierが対象のメールアカウントで、送信元の問題のメールはSource URIで確認が可能です。今回はGmail側で添付ファイルにウイルス発見があった為、Google Workspace側で拒否されたのが原因でしたので、これはそのままOutlook側で削除して完了としました。
最後に忘れずに、問題が解決した段階で「移行を終了する」ボタンをクリックして終わりにします。
図:ユーザーレポートの様子
図:移行レポートの様子
移行結果
移行した内容は、Outlook側のディレクトリ分けはラベル分けとしてサイドバーに表示されることになります。細かくわけてるとスクショのようにラベルがズラッと並ぶことになります。また、Toのアドレスは元のMicrosoft365側ドメインとしてそのまま移行がなされています。
また、カレンダーについても既存のメインカレンダーにマージされる形で取り込まれています。サブカレンダーなどは新規にカレンダーが作られて移行されます。
実際にどのくらいの粒度で移行がされているのか?は事前にテストユーザで検証しておき、ユーザに通知の上で本番実行すると良いでしょう。
図:メールの移行
図:カレンダーの移行