Microsoft 365 への段階的な移行に PowerShell を使用する

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

段階的な移行を使用して、ソース メール システムから Microsoft 365 にユーザー メールボックスの内容を移行できます。

この記事では、Exchange Online PowerShell を使用した段階的メール移行に関するタスクを順を追って説明します。 トピック「 段階的な電子メールの移行について知っておくべきこと」では、移行プロセスの概要について説明します。 記事の内容に満足いただけたら、段階的メール移行を使用して、あるメール システムから別のメール システムへのメールボックスの移行を開始してください。

注:

Exchange 管理センターを使用して、段階的な移行を実行することもできます。 「Microsoft 365 への電子メールの段階的な移行を実行する」を参照してください。

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

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

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

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

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

移行の手順

ステップ 1:段階的な移行を準備する

段階的な移行を使用してメールボックスを Microsoft 365 に移行する前に、Exchange 環境にいくつかの変更を加える必要があります。

社内の Exchange Server に Outlook Anywhere を構成する: メール移行サービスは、Outlook Anywhere (RPC over HTTP としても知られる) を使用して社内の Exchange Server に接続します。 Exchange Server 2007 と Exchange 2003 における Outlook Anywhere の設定方法の詳細については、以下を参照してください。

重要

Outlook Anywhere の構成には、信頼された証明機関 (CA) によって発行された証明書を使用する必要があります。 Outlook Anywhere は、自己署名入りの証明書で構成することはできません。 詳細については、「Outlook Anywhere のために SSL を構成する方法」を参照してください。

オプション:Outlook Anywhereを使用して Exchange 組織に接続できることを確認する: 接続設定をテストするには、次のいずれかの方法を試します。

  • 企業ネットワークの外部から Outlook を使用して社内の Exchange メールボックスに接続します。

  • Microsoft Remote Connectivity Analyzer を使用して、接続設定をテストします。 Outlook Anywhere (RPC over HTTP) または Outlook 自動検出テストを使用します。

  • Exchange Online PowerShell で次のコマンドを実行します。

    $Credentials = Get-Credential
    
    Test-MigrationServerAvailability -ExchangeOutlookAnywhere -Autodiscover -EmailAddress <email address for on-premises administrator> -Credentials $credentials
    

アクセス許可を設定するオンプレミスの Exchange organization (移行管理者とも呼ばれます) への接続に使用するオンプレミス ユーザー アカウントには、Microsoft 365 に移行するオンプレミスのメールボックスにアクセスするために必要なアクセス許可が必要です。 このユーザー アカウントは、この手順の後半で移行エンドポイントを作成して電子メール システムに接続するときに使用 されます。手順 3: 移行エンドポイントを作成します

メールボックスを移行するために、管理者には次のアクセス許可セットのいずれかが必要です。

  • 社内組織の Active Directory の Domain Admins グループのメンバーであること。

    or

  • 社内の各メールボックスに FullAccess のアクセス許可が割り当てられ、社内のユーザー アカウントの TargetAddress プロパティを変更するための WriteProperty のアクセス許可が割り当てられていること。

    or

  • ユーザー メールボックスを格納する社内のメールボックス データベースに 受信者 のアクセス許可が割り当てられ、社内のユーザー アカウントの TargetAddress プロパティを変更するための WriteProperty のアクセス許可が割り当てられていること。

これらのアクセス許可を設定する方法については、「 メールボックスを Microsoft 365 に移行するためのアクセス許可の割り当て」を参照してください。

ユニファイド メッセージング (UM) を無効にする: 移行する社内のメールボックスで UM がオンになっている場合は、移行前に UM をオフにします。 移行の完了後に、メールボックスの UM をオンにします。 操作手順については、「ユーザーのユニファイド メッセージングを無効にする方法」を参照してください。

ディレクトリ同期を使用して、Microsoft 365 で新しいユーザーを作成します。 ディレクトリ同期を使用して、Microsoft 365 organization内のすべてのオンプレミス ユーザーを作成します。

ユーザーの作成後にライセンスを付与する必要があります。 ユーザーの作成後、ライセンスを追加するまでに 30 日間があります。 ライセンスを追加する手順については、「ステップ 8:移行後のタスクを完了する」を参照してください。

Microsoft Entra同期ツールまたは Microsoft Azure AD Sync Services を使用して、Microsoft 365 でオンプレミス ユーザーを同期および作成できます。 メールボックスが Microsoft 365 に移行されると、オンプレミスのorganizationでユーザー アカウントを管理し、Microsoft 365 organizationと同期されます。 詳細については、「ディレクトリ統合 」を参照してください。

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

Microsoft 365 に移行するオンプレミスメールボックスを持つユーザーを特定したら、コンマ区切り値 (CSV) ファイルを使用して移行バッチを作成します。 移行を実行するために Microsoft 365 によって使用される CSV ファイルの各行には、オンプレミスのメールボックスに関する情報が含まれています。

注:

段階的な移行を使用して Microsoft 365 に移行できるメールボックスの数に制限はありません。 移行バッチ用の CSV ファイルに含めることができる行数は、最大 2,000 行までです。 2,000 を超えるメールボックスを移行するには、追加の CSV ファイルを作成し、各ファイルを使用して新しい移行バッチを作成します。

サポートされている属性

段階的な移行用の CSV ファイルは、次の 3 つの属性をサポートします。 CSV ファイルの各行はメールボックスに対応し、各属性の値を含める必要があります。

属性 説明 必須
EmailAddress
オンプレミスメールボックスのプライマリ SMTP メール アドレス (例: pilarp@contoso.com) を指定します。
Microsoft 365 のユーザー ID ではなく、オンプレミスメールボックスのプライマリ SMTP アドレスを使用します。 たとえば、オンプレミス ドメインに contoso.com という名前が付けられ、Microsoft 365 メール ドメインに service.contoso.com という名前が付けられている場合は、CSV ファイル内の電子メール アドレスに contoso.com ドメイン名を使用します。
必須
Password
新しい Microsoft 365 メールボックスに設定するパスワード。 Microsoft 365 organizationに適用されるパスワード制限は、CSV ファイルに含まれるパスワードにも適用されます。
省略可能
ForceChangePassword
ユーザーが新しい Microsoft 365 メールボックスに初めてサインインする際にパスワードを変更する必要があるかどうかを指定します。 このパラメーターの値には True または False を使用してください。
>[!注]> Active Directory フェデレーション サービス (AD FS) (AD FS) 以上をオンプレミスのorganizationにデプロイしてシングル サインオン (SSO) ソリューションを実装している場合は、ForceChangePassword 属性の値に False を使用する必要があります。
省略可能

CSV ファイル形式

以下に、CSV ファイルの形式の例を示します。 この例では、3 つのオンプレミス メールボックスが Microsoft 365 に移行されます。

CSV ファイルの最初の行、つまり見出し行には、以降の行に指定された属性またはフィールドの名前が表示されています。 各属性名はコンマで区切られます。

EmailAddress,Password,ForceChangePassword
pilarp@contoso.com,Pa$$w0rd,False
tobyn@contoso.com,Pa$$w0rd,False
briant@contoso.com,Pa$$w0rd,False

見出し行の下の各行は 1 ユーザーを表し、ユーザーのメールボックスの移行に使われる情報が提供されます。 各行の属性値は、見出し行の属性名と同じ順序で並んでいる必要があります。

CSV ファイルの作成には、任意のテキスト エディターや Excel などのアプリケーションを使用します。 ファイルは .csv ファイルまたは .txt ファイルとして保存します。

注:

CSV ファイルに非 ASCII 文字や特殊文字が含まれている場合は、UTF-8 などの Unicode エンコードで CSV ファイルを保存してください。 アプリケーションによっては、コンピューターのシステム ロケールが CSV ファイルで使用されている言語と一致するときに、CSV ファイルを UTF-8 などの Unicode エンコードで保存した方が簡単な場合があります。

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

メールを正常に移行するには、Microsoft 365 がソースメール システムに接続して通信する必要があります。 これを行うために、Microsoft 365 は移行エンドポイントを使用します。 PowerShell を使用して Outlook Anywhere 移行エンドポイントを作成するには、段階的な移行で、最初にリモート PowerShell による Exchange への接続を行います。

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

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

$Credentials = Get-Credential
New-MigrationEndpoint -ExchangeOutlookAnywhere -Name StagedEndpoint -Autodiscover -EmailAddress administrator@contoso.com -Credentials $Credentials

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

注:

New-MigrationEndpoint コマンドレットで -TargetDatabase オプションを使用することによって、使用するサービスに対してデータベースを指定することができます。 それ以外の場合、データベースは、管理メールボックスが配置されている Active Directory フェデレーション サービス (AD FS) 2.0 サイトからランダムに割り当てられます。

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

Exchange Online PowerShell で、次のコマンドを実行して "StagedEndpoint" 移行エンドポイントに関する情報を表示します。

Get-MigrationEndpoint StagedEndpoint | Format-List EndpointType,ExchangeServer,UseAutoDiscover,Max*

ステップ 4:段階的な移行のバッチを作成および開始する

Exchange Online PowerShell の New-MigrationBatch コマンドレットを使用すると、一括移行の移行バッチを作成できます。 AutoStart パラメーターを含めると、移行バッチを作成して自動的に開始できます。 また、別の方法として、 Start-MigrationBatch コマンドレットを使用することにより、移行バッチを作成して後で手動で開始できます。 この例では、"StagedBatch1" という移行バッチを作成して、前の例で作成した移行エンドポイントを使用します。

New-MigrationBatch -Name StagedBatch1 -SourceEndpoint StagedEndpoint -AutoStart

この例でも、"StagedBatch1" という移行バッチを作成して、前の例で作成した移行エンドポイントを使用します。 AutoStart パラメーターは含まれていないため、移行バッチは移行ダッシュボードで手動で開始するか、Start-MigrationBatch コマンドレットを使用して開始する必要があります。 前述のように、一度に存在できる一括移行バッチは 1 つだけです。

New-MigrationBatch -Name StagedBatch1 -SourceEndpoint StagedEndpoint

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

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

Get-MigrationBatch -Identity StagedBatch1 | Format-List

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

Get-MigrationBatch -Identity StagedBatch1 | Format-List Status

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

ステップ 5:社内メールボックスをメールが有効なユーザーに変換する

メールボックスのバッチが正常に移行されたら、何らかの方法でユーザーが各自のメールにアクセスできるようにする必要があります。 メールボックスが移行されたユーザーは、オンプレミスのメールボックスと Microsoft 365 のメールボックスの両方を持つようになりました。 Microsoft 365 にメールボックスを持っているユーザーは、オンプレミスのメールボックスで新しいメールの受信を停止します。

移行が完了していないため、すべてのユーザーをメールで Microsoft 365 に誘導する準備はまだ整っていません。 両方のメールボックスを持つユーザーに対してはどのようにすれば良いでしょうか。 既に移行済みの社内メールボックスをメールが有効なユーザーに変更することができます。 メールボックスからメールが有効なユーザーに変更する場合は、オンプレミスのメールボックスに移動する代わりに、ユーザーにメールを送信して Microsoft 365 に移動できます。

オンプレミスのメールボックスをメールが有効なユーザーに変換するもう 1 つの重要な理由は、メールが有効なユーザーにプロキシ アドレスをコピーして、Microsoft 365 メールボックスのプロキシ アドレスを保持することです。 これにより、Active Directory を使用して社内組織からクラウドベースのユーザーを管理できます。 また、すべてのメールボックスが Microsoft 365 に移行された後にオンプレミスのExchange Server organizationを使用停止することにした場合、メールが有効なユーザーにコピーしたプロキシ アドレスはオンプレミスの Active Directoryに残ります。

ステップ 6:段階的な移行バッチを削除する

移行バッチ内のすべてのメールボックスが正常に移行された場合、バッチ内の社内メールボックスをメールが有効なユーザーに変換した後に、段階的な移行バッチを削除する準備が整います。 移行バッチ内の Microsoft 365 メールボックスにメールが転送されていることを確認してください。 段階的な移行バッチを削除すると、移行サービスによって、移行バッチに関連するすべてのレコードがクリーンアップされて移行バッチが削除されます。

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

Remove-MigrationBatch -Identity StagedBatch1

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

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

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

Get-MigrationBatch StagedBatch1

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

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

手順 7: Microsoft 365 ユーザーにライセンスを割り当てる

ライセンスを割り当てることで、移行されたアカウントの Microsoft 365 ユーザー アカウントをアクティブ化します。 ライセンスを割り当てないと、猶予期間 (30 日) が終了したときにメールボックスが無効になります。 Microsoft 365 管理センターでライセンスを割り当てるには、「ライセンスの割り当てまたは割り当てを解除する」を参照してください。

ステップ 8:移行後のタスクを完了する

  • ユーザーが各自のメールボックスに簡単にアクセスできるように、自動検出 DNS レコードを作成します。 オンプレミスのすべてのメールボックスが Microsoft 365 に移行されたら、Microsoft 365 organizationの自動検出 DNS レコードを構成して、ユーザーが Outlook およびモバイル クライアントを使用して新しい Microsoft 365 メールボックスに簡単に接続できるようにします。 この新しい自動検出 DNS レコードでは、Microsoft 365 organizationで使用しているのと同じ名前空間を使用する必要があります。 たとえば、クラウドベースの名前空間が cloud.contoso.com の場合、作成する必要のある自動検出 DNS レコードは autodiscover.cloud.contoso.com となります。

    Microsoft 365 では、CNAME レコードを使用して、Outlook およびモバイル クライアント用の自動検出サービスを実装します。 自動検出 CNAME レコードには以下の情報が含まれている必要があります。

  • 社内の Exchange サーバーの使用を停止します。 すべてのメールが Microsoft 365 メールボックスに直接ルーティングされていることを確認し、オンプレミスのメール organizationを維持する必要がなくなったか、SSO ソリューションの実装を計画していない場合は、サーバーから Exchange をアンインストールし、オンプレミスの Exchange organizationを削除できます。

注:

Exchange の使用を停止すると、予期しない結果が起こる可能性があります。 オンプレミスの Exchange 組織の使用を停止する前に、Microsoft サポートに連絡することをお勧めします。

詳細については、以下を参照してください。