Microsoft 365 への IMAP 移行に PowerShell を使用する

この記事は、Microsoft 365 Enterprise および Office 365 Enterprise の両方に適用されます。

Microsoft 365 を展開するプロセスの一環として、ユーザー メールボックスの内容をインターネット メール アクセス プロトコル (IMAP) メール サービスから Microsoft 365 に移行することを選択できます。 この記事では、Exchange Online PowerShell を使用した電子メールの IMAP 移行作業を順を追って説明します。

注:

Exchange 管理センターを使用して IMAP 移行を実行することもできます。 「 IMAP メールボックスを移行する」を参照してください

はじめに把握しておくべき情報

このタスクの予想所要時間:移行バッチの作成に 2 ~ 5 分。 移行バッチ開始後の移行時間は、バッチ内のメールボックスの数、各メールボックスのサイズ、および使用可能なネットワーク容量によって異なります。 メールボックスを Microsoft 365 に移行するのにかかる時間に影響するその他の要因については、「 移行のパフォーマンス」を参照してください。

この手順を実行する際には、あらかじめアクセス許可が割り当てられている必要があります。 必要なアクセス許可を確認するには、受信者のアクセス許可に関する記事の表の「移行」エントリ を参照 してください。

Exchange Online PowerShell コマンドレットを使用するには、サインインしてコマンドレットをローカルの Windows PowerShell セッションにインポートする必要があります。 手順については、「Exchange Online PowerShell に接続する」を参照してください。

移行コマンドの完全な一覧については、「移動と移行のコマンドレット」を参照してください。

IMAP の移行には次の制限が適用されます。

  • ユーザーの受信トレイまたは他のメール フォルダー内のアイテムのみ、移行できます。 連絡先、予定表アイテム、またはタスクを移行することはできません。

  • 最大で 500,000 アイテムをユーザーのメールボックスから移行できます。

  • 移行できるメッセージの最大サイズは 35 MB です。

移行の手順

ステップ 1:IMAP 移行を準備する

  • IMAP organizationのドメインがある場合は、Microsoft 365 organizationの承認済みドメインとして追加します。 Microsoft 365 メールボックスに既に所有しているドメインと同じドメインを使用する場合は、最初に受け入れられたドメインとして Microsoft 365 に追加する必要があります。 追加したら、Microsoft 365 でユーザーを作成できます。 詳細については、「ドメインの確認」を参照してください。

  • 各ユーザーを Microsoft 365 に追加して、メールボックスを作成します。 手順については、「ビジネス向け Microsoft 365 にユーザーを追加する」を参照してください。

  • IMAP サーバーの FQDN を取得します。 IMAP 移行エンドポイントを作成するときにメールボックス データを移行する IMAP サーバーの完全修飾ドメイン名 (FQDN) (完全なコンピューター名とも呼ばれます) を指定する必要があります。 IMAP クライアントまたは PING コマンドを使用して、インターネット経由での FQDN サーバーとの通信に FQDN を使用できることを確認します。

  • IMAP 接続を許可するようにファイアウォールを構成します。 移行中に Microsoft データセンターから送信されるネットワーク トラフィックが IMAP サーバーをホストするorganizationに入ることができるように、IMAP サーバーをホストするorganizationのファイアウォールでポートを開く必要がある場合があります。 Microsoft データセンターで使用される IP アドレスの一覧については、「EXCHANGE ONLINE URL と IP アドレス範囲」を参照してください。

  • IMAP 組織内のメールボックスにアクセスする管理者アカウントのアクセス許可を割り当てます。 CSV ファイルで管理者の資格情報を使用する場合は、使用するアカウントに、社内メールボックスへのアクセスに必要なアクセス許可が必要になります。 ユーザーのメールボックスへのアクセスに必要なアクセス許可は、特定の IMAP サーバーによって決定されます。

  • To use the Exchange Online PowerShell cmdlets, you need to sign in and import the cmdlets into your local Windows PowerShell session. 手順については、「Exchange Online PowerShell に接続する」を参照してください。

    移行コマンドの完全な一覧については、「移動と移行のコマンドレット」を参照してください。

  • IMAP サーバーに接続できることを確認します。 IMAP サーバーへの接続設定をテストするには、Exchange Online PowerShell で次のコマンドを実行します。

    Test-MigrationServerAvailability -IMAP -RemoteServer <FQDN of IMAP server> -Port <143 or 993> -Security <None, Ssl, or Tls>
    

    Port パラメーターの値については、通常、暗号化されていない接続やトランスポート層セキュリティ (TLS) 接続には 143 を使用し、SSL 接続には 993 を使用します。

ステップ 2:IMAP 移行バッチ用の CSV ファイルを作成する

IMAP 移行バッチでそのメールボックスを移行するユーザーのグループを特定します。 CSV ファイルの各行には、IMAP メッセージング システム内のメールボックスに接続するために必要な情報が含まれています。

各ユーザーの必須属性は次のとおりです。

  • EmailAddress は、ユーザーの Microsoft 365 メールボックスのユーザー ID を指定します。

  • UserName は、IMAP サーバー上のメールボックスへのアクセスに使用するアカウントのサインイン名を指定します。

  • Password は、 UserName 列のアカウントのパスワードを指定します。

以下に、CSV ファイルの形式の例を示します。 この例では、3 人のメールボックスが移行されます。

EmailAddress,UserName,Password
terrya@contoso.edu,terry.adams,1091990
annb@contoso.edu,ann.beebe,2111991
paulc@contoso.edu,paul.cannon,3281986

UserName 属性については、ユーザー名に加えて、IMAP サーバーのメールボックスへのアクセスに必要なアクセス許可が割り当てられているアカウントの資格情報を使用できます。以下はいくつかの IMAP サーバーで使用されている特定の形式の一部です。

Microsoft Exchange:

Microsoft Exchange の IMAP 実装から電子メールを移行する場合、CSV ファイルでは UserName 属性に Domain/Admin_UserName/User_UserName という形式を使用します。 Terry Adams、Ann Beebe、および Paul Cannon の電子メールを Exchange から移行するとします。 メールの管理者アカウントは、ユーザー名は mailadmin 、パスワードは P@ssw0rd とします。 CSV ファイルは次のようになります。

EmailAddress,UserName,Password
terrya@contoso.edu,contoso-students/mailadmin/terry.adams,P@ssw0rd
annb@contoso.edu,contoso-students/mailadmin/ann.beebe,P@ssw0rd
paulc@contoso.edu,contoso-students/mailadmin/paul.cannon,P@ssw0rd

Dovecot:

Dovecot IMAP サーバーなど、簡易認証とセキュリティレイヤー (SASL) をサポートする IMAP サーバーの場合は、アスタリスク ( * ) が構成可能な区切り文字である User_UserName*Admin_UserName形式を使用します。 管理者資格情報 mailadminP@ssw0rdを使用して、同じユーザーのメールを Dovecot IMAP サーバーから移行するとします。 この場合、CSV ファイルは次のようになります。

EmailAddress,UserName,Password
terrya@contoso.edu,terry.adams*mailadmin,P@ssw0rd
annb@contoso.edu,ann.beebe*mailadmin,P@ssw0rd
paulc@contoso.edu,paul.cannon*mailadmin,P@ssw0rd

Mirapoint:

Mirapoint Message Server から電子メールを移行する場合は、管理者の資格情報に #user@domain#Admin_UserName# の形式を使用します。 管理者の資格情報である mailadminP@ssw0rd を使用して Mirapoint から電子メールを移行する場合、CSV ファイルは次のようになります。

EmailAddress,UserName,Password
terrya@contoso.edu,#terry.adams@contoso-students.edu#mailadmin#,P@ssw0rd
annb@contoso.edu,#ann.beebe@contoso-students.edu#mailadmin#,P@ssw0rd
paulc@contoso.edu,#paul.cannon@contoso-students.edu#mailadmin#,P@ssw0rd

Courier IMAP:

Courier IMAP などの一部のソース メール システムでは、メールボックス管理者の資格情報を使用してメールボックスを Microsoft 365 に移行することはできません。 代わりに、ソース メール システムで仮想共有フォルダーを使用するように設定できます。 仮想共有フォルダーを使用すると、移行元の電子メール システムのユーザーのメールボックスにアクセスするためにメールボックスの管理資格情報を使用できます。 Courier IMAP の仮想共有フォルダーを構成する方法の詳細については、「共有フォルダー」を参照してください。

移行元の電子メール システムで仮想共有フォルダーをセットアップしてからメールボックスを移行するには、オプション属性 UserRoot を移行ファイルに含める必要があります。 この属性では、移行元電子メール システムの仮想共有フォルダー構造にある各ユーザーのメールボックスの場所を指定します。 たとえば、Terry のメールボックスへのパスは /users/terry.adams です。

以下に、 UserRoot 属性を含む CSV ファイルの例を示します。

EmailAddress,UserName,Password,UserRoot
terrya@contoso.edu,mailadmin,P@ssw0rd,/users/terry.adams
annb@contoso.edu,mailadmin,P@ssw0rd,/users/ann.beebe
paulc@contoso.edu,mailadmin,P@ssw0rd,/users/paul.cannon

ステップ 3:IMAP 移行エンドポイントを作成する

メールを正常に移行するには、Microsoft 365 がソースメール システムに接続して通信する必要があります。 これを行うために、Microsoft 365 は移行エンドポイントを使用します。 移行エンドポイントは、同時に移行するメールボックスの数、および 24 時間ごとに 1 回行われる増分同期中に同時に同期するメールボックスの数も定義します。 IMAP 移行用に移行エンドポイントを作成するには、最初にリモート PowerShell による Exchange への接続を行います。

移行コマンドの完全な一覧については、「移動と移行のコマンドレット」を参照してください。

Exchange Online PowerShell で "IMAPEndpoint" という IMAP 移行エンドポイントを作成するには、次のコマンドを実行します。

New-MigrationEndpoint -IMAP -Name IMAPEndpoint -RemoteServer imap.contoso.com -Port 993 -Security Ssl

また、同時移行、増分の同時移行、および使用するポートを指定するパラメーターを追加することもできます。 次の Exchange Online PowerShell コマンドは、50 の同時移行と最大 25 の同時増分同期をサポートする "IMAPEndpoint" という IMAP 移行エンドポイントを作成します。 さらに、このエンドポイントを TLS 暗号化用にポート 143 を使用するように構成します。

New-MigrationEndpoint -IMAP -Name IMAPEndpoint -RemoteServer imap.contoso.com -Port 143 -Security Tls -MaxConcurrentMigrations
50 -MaxConcurrentIncrementalSyncs 25

New-MigrationEndpoint コマンドレットの詳細については、「New-MigrationEndpoint」を参照してください。

機能していることを確認する

Exchange Online PowerShell で次のコマンドを実行すると、"IMAPEndpoint" に関する情報が表示されます。

Get-MigrationEndpoint IMAPEndpoint | Format-List EndpointType,RemoteServer,Port,Security,Max*

ステップ 4:IMAP 移行バッチを作成および開始する

New-MigrationBatch コマンドレットを使用すると、IMAP 移行用の移行バッチを作成できます。 AutoStart パラメーターを含めると、移行バッチを作成して自動的に開始できます。 代わりに、移行バッチを作成してから、後でStart-MigrationBatch コマンドレットを使用して開始することができます。

次の Exchange Online PowerShell コマンドは、"IMAPEndpoint" という IMAP エンドポイントを使用して "IMAPBatch1" という移行バッチを自動的に開始します。

New-MigrationBatch -Name IMAPBatch1 -SourceEndpoint IMAPEndpoint -CSVData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\IMAPmigration_1.csv")) -AutoStart

機能していることを確認する

Get-MigrationBatch コマンドレットを実行すると、"IMAPBatch1" に関する情報を表示できます。

Get-MigrationBatch -Identity IMAPBatch1 | Format-List

また、次のコマンドを実行すると、バッチが開始されたことを確認できます。

Get-MigrationBatch -Identity IMAPBatch1 | Format-List Status

手順 5: メールを Microsoft 365 にルーティングする

電子メール システムでは、電子メールを配信する場所を知るために、MX レコードと呼ばれる DNS レコードを使用します。 電子メールの移行プロセス中、MX レコードの宛先は移行元の電子メール システムでした。 Microsoft 365 への電子メールの移行が完了したら、次は Microsoft 365 で MX レコードをポイントします。 これにより、メールが Microsoft 365 メールボックスに確実に配信されます。 MX レコードを移動することによって、準備ができたら古い電子メール システムをオフにすることもできます。

多くの DNS プロバイダーについては、MX レコードを変更するための具体的な手順があります。 使用している DNS プロバイダーが含まれていない場合、または一般的な手順を知りたい場合は、 「MX レコードの一般的な手順」も参照してください。

使用している DNS プロバイダーが含まれていない場合や、一般的な手順を知りたい場合は、MX レコードの一般手順も参照してください。 次のタスク「手順 6: IMAP 移行バッチを削除する」に進む前に、少なくとも 72 時間待ちます。

ステップ 6:IMAP 移行バッチを削除する

MX レコードを変更し、すべてのメールが Microsoft 365 メールボックスにルーティングされていることを確認したら、メールが Microsoft 365 に送られていることをユーザーに通知します。 その後、IMAP 移行バッチを削除できます。 移行バッチを削除する前に、次の点を確認します。

  • すべてのユーザーが Microsoft 365 メールボックスを使用しています。 バッチが削除されると、オンプレミスのExchange Server上のメールボックスに送信されたメールは、対応する Microsoft 365 メールボックスにコピーされません。

  • Microsoft 365 メールボックスは、メールが直接送信され始めた後、少なくとも 1 回同期されました。 これを行うには、移行バッチの [最終同期時刻] ボックスの値が、メールが Microsoft 365 メールボックスに直接ルーティングされ始めた時点よりも新しいことを確認します。

Exchange Online PowerShell から "IMAPBatch1" 移行バッチを削除するには、次のコマンドを実行します。

Remove-MigrationBatch -Identity IMAPBatch1

Remove-MigrationBatch コマンドレットの詳細については、「Remove-MigrationBatch」を参照してください。

機能していることを確認する

Exchange Online PowerShell で次のコマンドを実行すると、"IMAPBatch1" に関する情報が表示されます。

Get-MigrationBatch IMAPBatch1"

このコマンドによって、状態が Removing の移行バッチが返されるか、移行バッチが見つからず、削除されたことの確認を求めるエラーが返されます。

Get-MigrationBatch コマンドレットの詳細については、「Get-MigrationBatch」を参照してください。

関連項目

IMAP の移行に関するトラブルシューティング