本記事では、M365テナントからメールボックス移行を実行する際のスコーピングに関する追加情報および適切な変更について説明します。
本記事の手順は、通常のアクセス許可の割り当て手順とは異なる部分について説明したものであり、こちらの「M365メールボックスおよびアーカイブの移行 - APIのアクセス許可のみを使用した移行(M365 Mailbox and Archive Migrations - Performing Migration using only API permissions)」の記事と組み合わせて使用することができます。
一部の移行では、特定のユーザーグループのみを移行するためのアクセス許可設定が必要になる場合があります。そのような場合は、次の手順に従って設定を行ってください。上記リンクの記事の手順2と手順6を、以下の手順に置き換えてください。
手順2の置き換え - APIのアクセス許可の変更
手順2では、「アプリの登録(App registrations)」の「アプリケーションのアクセス許可(Application permissions)」で、追加のアクセス許可を設定する必要があります。この時、「その他のアクセス許可(Other permissions)」の下にある「full_access_as_app」のボックスには、チェックを入れないでください。
このアクセス許可を選択すると、管理スコープの設定がすべて無効になり、組織内のすべてのメールボックスへのアクセスが許可されます。以前のアプリケーション登録時に、このアクセス許可を選択していた場合は、チェックを外してください。
手順6の置き換え - 管理スコープの詳細を手動で設定する
手順6では、「ConfigureM365Tenant.PS1」スクリプトを実行する必要があります。このスクリプトは、すべてのユーザーメールボックスを対象とする管理スコープを設定するためのものです。特定のメールボックスのグループのみを対象とする管理スコープを設定するには、スコープの割り当てに必要なすべてのコマンドを手動で実行する必要があります。
この場合も同様に、「エンタープライズアプリケーション(Enterprise applications)」から「アプリケーションID(Application ID)」と「オブジェクトID(Object ID)」の値をコピーする必要があります。これらのIDは、次に示すように、「エンタープライズアプリケーション(Enterprise applications)」の「概要(Overview)」タブに表示されます。
- 「ID(Identity)」 「アプリケーション(Applications)」 「エンタープライズアプリケーション(Enterprise applications)」に移動します。
- 作業しているアプリケーションを選択します。
- 「概要(Overview)」タブに移動し、「アプリケーションID(Application ID)」と「オブジェクトID(Object ID)」の値をコピーして保存します。
管理スコープに適用するフィルターの種類を決定します。通常の「Get-Mailbox」コマンドレットの「Filter」として使用されるすべてのフィルターが適用可能です。
次の例では、スコープに特定の値のカスタム属性フィルターを適用しています。カスタム属性を設定したら、次のPowerShellコマンドを使用して、フィルターをテストすることができます。 get-mailbox -filter "CustomAttribute13 -like 'MigWiz'"
結果は、次のようになります。
この例の場合、管理スコープは、移行元テナントの2つのアカウントのみに制限されます。
管理スコープをテナントに割り当てるには、次の手順を実行します。
- 管理者資格情報を使用して、次のPowerShellコマンドを実行し、M365テナントに接続します。
connect-exchangeonline
- 次のPowerShellコマンドの太字の項目を、「エンタープライズアプリケーション(Enterprise applications)」から取得した値にそれぞれ置き換えて、コマンドを実行します。
$applicationId = "アプリケーションID(Application ID)"
$objectId ="オブジェクトID(Object ID)"
$MgmtScopeName="User Mailboxes"
New-ManagementScope -Name $MgmtScopeName -RecipientRestrictionFilter "CustomAttribute13 -eq 'MigWiz'"
New-ServicePrincipal -AppId $applicationId -ObjectId $objectid -DisplayName "MigrationWiz"
New-ManagementRoleAssignment -App $objectId -Role "Application EWS.AccessAsApp" -CustomResourceScope $MgmtScopeName - 次のコマンドを使用して、管理スコープが設定されていることを確認します。
Get-ManagementScope
結果は、次のようになります。
上の例では、2つのメールボックスのみを対象とする管理スコープが設定されました。MigrationWizでプロジェクトを設定して実行すると、2つのアカウントのみが移行され、その後に移行元に追加された他のアカウントについては、移行が失敗します。
MigrationWizで本シナリオの移行を実行すると、以下の画像のような結果になります。
管理スコープの更新
管理スコープを更新するには、以前の管理スコープを削除して、テナントに再適用する必要があります。次の手順に従って、更新を行ってください。
- 管理者ロールの割り当てを削除します。
get-managementroleassignment -Identity "Application EWS.AccessAsApp*" -RoleAssigneeType ServicePrincipal | remove-managementroleassignment
- サービスプリンシパルを削除します。
remove-serviceprincipal -identity "MigrationWiz"
- 管理スコープ自体を削除します。
remove-managementscope -identity "User Mailboxes"
その後、上記のセクションのコマンドを再実行して、更新したフィルターを適用した管理スコープを再作成することができます。