ある Office 365 テナントから別のテナントにメールボックスを移行する方法

この記事では、企業統合のシナリオで、ある Office 365 テナントから別の Office 365 テナントにメールボックスやサービスの設定を移行する方法について説明します。 移行対象のユーザー数が 500 を超える場合や、SharePoint データの量が非常に多い場合は、Office 365 パートナーの力を借りることも検討してください。

この記事のシナリオでは、2 つの架空の会社 Contoso.com と Fabrikam.com が、2 つの独立した Office 365 テナントを使用しています。 Contoso は Fabrikam を買収し、Fabrikam のユーザーとデータを contoso.com という Office 365 テナントに移行します。

テナント 1 (移行先)

テナント 2 (移行元)

ユーザー定義の電子メール ドメイン:   

contoso.com

fabrikam.com

Office 365 の初期ドメイン:   

contoso.onmicrosoft.com

fabrikam.onmicrosoft.com

シナリオ: サード パーティの移行ツールを使って移行する

このシナリオでは、Fabrikam 社のユーザー、グループ、およびその他のオブジェクトは、手動で Office 365 に作成されるか、スクリプトによってポータルにインポートされるか、または Active Directory ドメイン サービス (AD DS) の統合によって Contoso の Active Directory に統合されるかのいずれかです。

移行プロセスが完了すると、すべての Fabrikam アカウントは Contoso.com Office 365 テナントに含まれ、UPN にはすべて @fabrikam.com を使用することになります。最終的なアドレス割り当て方式は単純で簡潔なものを選びましたが、それぞれの要件に合うように変更できます。

ある Office 365 テナントから別のテナントにメールボックス データを移動する方法

計画作成: 移行の 2 週間前

サード パーティの移行ツールを使ってユーザーを移行する場合は、その以降のために必要なライセンスを購入します。

クライアントの統合   

Outlook 2010 と Outlook 2013 の場合は、Outlook ユーザー プロファイルを削除するだけです。

Outlook 2007 と Outlook 2010 の場合は、再起動すると、自動検索によってクライアントが構成され、.OST ファイルが再構築されます。

Lync クライアントの場合は、移行が完了したときに連絡先を追加する必要があります。

テナントの準備とライセンス管理   

移行元のテナントは Fabrikam Office 365 テナントで、そこからユーザーとデータを移行します。移行先のテナントは、Contoso Office 365 テナントです。

  1. 移行元テナントから移行されるすべてのメールボックスに対応するために、移行先 Office 365 テナントのライセンス数を増やします。

  2. Office 365 から別の Office 365 への移行に使用する管理者アカウントを移行元テナントと移行先テナントに作成します。一部の移行ツールでは、データのスループットを最適化するために、移行元テナントに複数の管理者アカウントを作成することが必要になります。

移行先テナントでの会議室、リソース、配布グループ、およびユーザー オブジェクトの作成   

移行先 (Contoso) テナントに各種のリソースを作成するには、次の手順に従います。

  1. Azure AD Connect ツールを使って、Contoso の Active Directory ドメイン サービス (AD DS) のすべてのオブジェクトを同期する場合、移行元 (Fabrikam) テナントの AD DS のオブジェクトは、統合によって移行先テナント (Contoso) の AD DS に作成されます。

    1. AD DS 統合を実行するには、さまざまな AD DS ツールが使用されます。 移行対象オブジェクトの数によっては、統合には多くの時間と計画が必要になるため、移行プロジェクトに先立って実行することもできます。

    2. ディレクトリ同期を使って、すべての新しいユーザーとグループが Contoso.com 移行先テナントと同期していることを確認します。この時点では Fabrikam のドメインが移行されていないので、新しいテナントではオブジェクトが user@contoso.onmicrosoft.com のように表示されます。ユーザーとグループのプライマリ メール アドレスは、ドメインの移行が完了した後で @fabrikam.com に変更できます。

  2. ディレクトリ同期を使用しない場合、または会議室、リソース、グループ、ユーザーが移行元テナントの Office 365 管理センターで管理されている場合は、それらのオブジェクトを移行先テナントに作成する必要があります。オブジェクトは、Office 365 管理センターで手動で作成できますが、オブジェクトの数が多い場合は Office 365 管理センターの一括追加機能を使うか、Windows PowerShell を使って、CSV ファイルをインポートします。

エンドユーザーとのコミュニケーション   

組織のエンド ユーザーに移行について知らせるには、次の手順に従います。

  1. コミュニケーション計画を作成して、今後の移行とサービスの変更についてユーザーへの通知を開始します。

  2. 移行後は、すべての Outlook クライアントでニックネーム キャッシュをクリアすることが必要になります。 エンド ユーザーが実行できる自動の Fix-it ツールの使用方法については、「Outlook のニックネームおよびオートコンプリート キャッシュのリセット方法」を参照してください。

  3. 移行後に問題が発生した場合、新しいサインイン情報で Outlook Web App に接続する方法をユーザーに確認します。

準備と移行前のアクティビティ: 移行の 3 日前

ドメインの準備   

移行のためにドメインを準備するには、次の手順に従います。

  1. 移行先 (Contoso) テナントで、Fabrikam.com メール ドメインに対するドメイン確認のプロセスを開始します。

  2. contoso.com の Office 365 管理センターで、Fabrikam.com ドメインを追加して、確認のためにドメイン ネーム システム (DNS) に TXT レコードを作成します。

    注: このドメインは他のテナントで使用中なので、その確認は失敗します。

    今のうちに手順に従って操作すると、DNS レコードが反映される時間 (最大 72 時間) を得ることができます。 最終的な確認は、プロセスの後半で実行されます。

移行のスケジュール   

移行をスケジュールするには、次の手順に従います。

  1. 移行するユーザー メールボックスのマスター リストを作成します。

  2. 使用するサード パーティの移行ツールのために、メールボックスのマッピングを指定した .CSV ファイルを作成します。 移行ツールは移行時にこのマッピング ファイルを使って、移行元のメールボックスと移行先テナントのメールボックスを一致させます。 ユーザー定義の電子メール ドメインは定期的に変更されるため、移行元アカウントのマッピングには「初期」ドメインの *.onmicrosoft.com を使うことをお勧めします。

ある Office 365 テナントから別のテナントにメールボックス データを移行するために使用される CSV ファイル

メール エクスチェンジャー レコード (MX レコード) の Time-To-Live (TTL) テスト   

次に、TTL テストをスケジュールします。

  1. DNS で、転送したいプライマリ メール ドメインの MX レコードの TTL 値を小さい値 (例: 5 分) に変更します。 TTL をそこまで小さくできない場合は、最小値を調べてメモします。 たとえば、最小値が 4 時間の場合は、移行を開始する前に MX レコードを 4 時間に変更します。

  2. Mx Lookup を使用して、MX と DNS の変更を確認することができます。

移行元テナントでのディレクトリ同期の無効化   

移行元テナントの Office 365 管理センターで、ディレクトリ同期を無効にします。 このプロセスには 24 時間以上掛かることがあるため、移行に先立って実行する必要があります。 ポータル内で無効になると、移行元テナントの AD DS に対するすべての変更は、Office 365 テナントと同期されなくなります。 それに沿って、既存のユーザーとグループをプロビジョニングするプロセスを調整します。

移行: 移行の実行日

移行を実行する日に必要となる手順は次のとおりです。

MX レコードの変更 – 受信メール フローの停止   

プライマリ MX レコードを Office 365 から変更して、到達不能のドメイン (例: "unreachable.example.com") を設定します。 新しいメールを配信するインターネット メール サーバーはメールをキューに入れ、24 時間にわたって再配信を試みます。 この方法を使うと、メールを配信しているサーバーによっては、一部のメールで配信不能レポート (NDR) が返されることがあります。 これが問題となる場合は、MX レコード バックアップ サービスを使用してください。 多くのサードパーティのサービスでは、日単位または週単位でメールがキューに入れられます。 移行が完了すると、これらのサービスがキューに入れていたメールが新しい Office 365 テナントに配信されます。

ヒント: TTL が短い場合は (5 分など)、大きな中断を引き起こさないようにするため、この手順を稼働日の終了時に実行することができます。 TTL が大きい場合は、前もって MX レコードを変更して TTL の期限が切れるようにする必要があります。 たとえば TTL が 4 時間で、移行を午後 6 時に開始する予定の場合は、午後 2 時前に変更する必要があります。

必要な場合は、MX と DNS の変更を確認してください。 MX と DNS の変更を確認するには、Nslookup または MxToolbox などのサービスを使用できます。

ソース テナントの準備   

ドメインをターゲット テナントに移動する前に、ソース テナントのすべてのオブジェクトからプライマリ メール ドメイン (fabrikam.com) が削除されている必要があります。

  1. 使用している SharePoint Online パブリック Web サイトでドメインのセットアップも完了している場合は、まず、ドメインを削除する前に Web サイトの URL を初期ドメインに設定し直す必要があります。

  2. Lync 管理ポータルを使って、すべての Lync ライセンスをソース テナントのユーザーから削除します。 この操作を行うと、Fabrikam.com に接続された Lync SIP アドレスが削除されます。

  3. Office 365 ソース メールボックスで、既定のメール アドレスを初期ドメイン (fabrikam.onmicrosoft.com) に設定し直します。

  4. ソース テナントのすべての配布リスト、会議室、およびリソースについて、既定のメール アドレスを初期ドメイン (fabrikam.onmicrosoft.com) に設定し直します。

  5. まだ @fabrikam.com が使用されているユーザー オブジェクトから、すべてのセカンダリ メール アドレス (プロキシ アドレス) を削除します。

  6. ソース テナントで、既定のドメインを fabrikam.onmicrosoft.com ルーティング ドメインに設定します (管理ポータルで、右上隅の会社名をクリックします)。

  7. Windows PowerShell コマンド Get-MsolUser -DomainName Fabrikam.com を使用して、まだドメインを使用し削除をブロックしているすべてのオブジェクトの一覧を取得します。

  8. よくあるドメイン削除の問題については、「Office 365 からドメインを削除するとエラー メッセージが表示される」を参照してください。

ターゲット テナントの準備   

contoso.com テナントで、Fabrikam.com ドメインの確認を完了します。 古いテナントからドメインを削除した後、場合によっては 1 時間待機する必要があります。

  1. 内部、外部の自動検索 CNAME を構成します。これは省略可能です。

  2. AD FS を使用している場合は、AD FS 向けにターゲット テナントで新しいドメインを構成します。

  3. contoso.com テナントでメールボックスのアクティブ化を開始し、すべての新しいユーザー アカウントにライセンスを割り当てます。

  4. 新しいユーザーに、プライマリ アドレスとして Fabrikam.com メール ドメインを設定します。 この操作を行うには、ポータル内で複数のライセンス未付与のユーザーを選んで編集するか、Windows PowerShell を使用します。

  5. パスワード同期機能や AD FS を使用していない場合は、ターゲット テナント (Contoso) のすべてのメールボックスにパスワードを設定します。共通パスワードを使用していない場合は、ユーザーに新しいパスワードを通知します。

  6. メールボックスにライセンスが付与されてアクティブ化されたら、メール ルーティングを切り替えます。 Fabrikam MX レコードを Office 365 ターゲット (Contoso) テナントにポイントします。 MX TTL の期限が切れると、メールは新しい空のメールボックスに配信され始めます。 MX バックアップ サービスを使っている場合は、新しいメールボックスにメールをリリースできます。

  7. ターゲット テナントで、新しいメールボックスとの間でのメール フローの確認テストを実行します。

  8. Exchange Online Protection (EOP) を使用している場合: ターゲット テナント内で、ソース テナントからトランスポート ルール、コネクタ、ホワイト リスト、ブラック リストを再作成します。

移行の開始   

ダウンタイムを最小限にしてユーザーにできるだけ迷惑をかけないよう、最も良い移行方法を決定します。

  • ユーザー数が 500 人以下の場合: ターゲット テナントのメールボックスにメール、予定表、連絡先データを移行します。 可能であれば、メール移行の日付を限定します (最新 6 か月のデータ、など)。

  • ユーザー数が 500 人を超える場合: マルチパスの手法を使用します。つまり、すべてのユーザーの連絡先、予定表、1 週間のみのメールを移行した後で日単位、または週単位でさらに移行を継続し、マルチパスを使用してメールボックスに古いメール データを移行する手法です。

サードパーティの移行ツールを使用して、メールの移行を開始します。

  1. ベンダーから提供されたツールを使用して、移行の進捗を監視します。 移行中は、管理者および移行チームに定期的な進捗レポートを送信します。

  2. すべての移行が完了した後、任意で第 2、第 3 パスの移行を実行します。

Outlook 2007 および 2010 では、移行終了時に各ユーザーのメールボックス全体が同期されます。このため、各メールボックスに移行するデータの量によっては多くの帯域幅が消費されます。 Outlook 2013 の場合、既定では 12 か月分のデータのみがキャッシュされます。 この設定のデータは増減できます。たとえば、データを 3 か月分のみに限定して、帯域幅の使用を軽減することができます。

移行後: クリーンアップ   

ユーザーが移行済みのメール メッセージに返信すると、NDR を受信することがあります。 その場合は Outlook ニックネーム キャッシュをクリアする必要があります。 「Outlook のニックネームおよびオートコンプリート キャッシュのリセット方法」を参照してください。 または、すべてのユーザーに x.500 プロキシ アドレスとして従来の DN を追加します。

サンプル Windows PowerShell スクリプト

独自のスクリプトを作成するための足掛かりとして、以下のサンプル Windows PowerShell スクリプトをご利用ください。

Office 365 一括パスワード リセット

  1. password.csv という名前の CSV ファイルを作成します。

  2. このファイルに “upn” および “newpassword” 列を挿入します (例: johnsmith@contoso.com,Password1)

  3. 次の Windows PowerShell コマンドを使用します。

    Import-Csv password.csv|%{Set-MsolUserPassword –userPrincipalName $_.upn -NewPassword $_.newpassword -ForceChangePassword $false}

特定のプロキシ アドレスを含むすべての Office 365 アカウントを CSV ファイルにコピー

##########################################################################
# Script: showproxies.ps1
# Copies all accounts in Office 365 that contain/don't contain a specific
# proxyaddress to a .CSV file (addresses.csv)
#
# Change the following variable to the proxy address string you want to find:
# $proxyaddr = "onmicrosoft.com"
################################################################################
$proxyaddr = "onmicrosoft.com"
# Create an object to hold the results
$addresses = @()
# Get every mailbox in the Exchange Organisation
$Mailboxes = Get-Mailbox -ResultSize Unlimited
# Loop through the mailboxes
ForEach ($mbx in $Mailboxes) {
# Loop through every address assigned to the mailbox
Foreach ($address in $mbx.EmailAddresses) {
# If it contains XXX, Record it
if ($address.ToString().ToLower().contains("onmicrosoft.com")) {
# This is an email address. Add it to the list
$obj = "" | Select-Object Alias,EmailAddress
$obj.Alias = $mbx.Alias
$obj.EmailAddress = $address.ToString() #.SubString(10)
$addresses += $obj
}
}
}
# Export the final object to a csv in the working directory
$addresses | Export-Csv addresses.csv -NoTypeInformation
# Open the csv with the default handler
Invoke-Item addresses.csv
##### END OF SHOWPROXIES.PS1

Office 365 で会議室メールボックスを一括作成

################################################################################
# Script: create-rooms.ps1
# Description:*** RUN THIS SCRIPT FROM A WINDOWS POWERSHELL SESSION ***
#This script creates Room mailboxes in Office 365.
# Syntax:Create-Rooms.ps1 -inputfile "file name.csv"
#
# Dependencies: Input file should contain 3 columns: RoomName, RoomSMTPAddress, RoomCapacity
#
################################################################################
param( $inputFile )
Function Usage
{
$strScriptFileName = ($MyInvocation.ScriptName).substring(($MyInvocation.ScriptName).lastindexofany("\") + 1).ToString()
@"
NAME:
$strScriptFileName
EXAMPLE:
C:\PS> .\$strScriptFileName -inputfile `"file name.csv`"
"@
}
If (-not $inputFile) {Usage;Exit}
#Get MSO creds and initialize session
If ($cred -eq $NULL) {$Global:cred = Get-Credential}
#
If ($ExchRemoteCmdlets.AccessMode -ne "ReadWrite")
{
Write-Host
Write-Host Connecting to Office 365...
Write-Host
$NewSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection
$Global:ExchRemoteCmdlets = Import-PSSession $NewSession
}
#Import the CSV file
$csv = Import-CSV $inputfile
#Create Rooms contained in the CSV file
$csv | foreach-object{
New-mailbox -Name $_.RoomName -room -primarysmtpaddress $_.RoomSMTPAddress -resourcecapacity $_.RoomCapacity
}
##### END OF CREATE-ROOMS.PS1

メールボックスからセカンダリ メール アドレスを一括削除

##########################################################################
# Script: remove-proxy.ps1
#Description:*** RUN THIS SCRIPT FROM A WINDOWS POWERSHELL SESSION ***
#This script will remove a secondary email address from many users
#
# Syntax:remove-proxy.ps1 -inputfile "filename.csv"
#
# Dependencies:Input file should contain 2 columns: Username, Emailsuffix
# Example: Username=tim, Emailsuffix=fabrikam.com
#Script will remove the address tim@fabrikam.com from the mailbox for Tim.
#NOTE: Address must be secondary; it will not remove primary email address.
#
################################################################################
param( $inputFile )
Function Usage
{
$strScriptFileName = ($MyInvocation.ScriptName).substring(($MyInvocation.ScriptName).lastindexofany
("\") + 1).ToString()
@"
NAME:
$strScriptFileName
EXAMPLE:
C:\PS> .\$strScriptFileName -inputfile `"file name.csv`"
"@
}
If (-not $inputFile) {Usage;Exit}
#Get MSO creds and initialize session
If ($cred -eq $NULL) {$Global:cred = Get-Credential}
#
If ($ExchRemoteCmdlets.AccessMode -ne "ReadWrite")
{
Write-Host
Write-Host Connecting to Office 365...
Write-Host
$NewSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri
https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection
$Global:ExchRemoteCmdlets = Import-PSSession $NewSession
}
#Import the CSV file and change primary smtp address
$csv = Import-CSV $inputfile
$csv | foreach-object{
# Set variable for email address to remove
$removeaddr = $_.username + "@" + $_.emailsuffix
Write-Host ("Processing User: " + $_.UserName +" - Removing " + $removeaddr)
Set-Mailbox $_.Username -EmailAddresses @{Remove=$removeaddr}
}
##### END OF REMOVE-PROXY.PS1

LinkedIn ラーニングのショート アイコンです。 Office 365 を初めてお使いの場合は
、LinkedIn ラーニングによって提供された Office 365 管理者および IT プロフェッショナル向けの無料のビデオコースをご覧ください。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×