Exchange 移行の準備

Fly Server Exchange 移行を実行する前に、以下の説明に従って移行の準備を行います。

1.   Exchange 移行では、特定の機能に対して Exchange PowerShell を使用する必要があります。詳細については、付録 F Exchange PowerShell での作業 を参照してください。

2.   移行先メールボックスの許可されているアイテム サイズが移行に対して十分であることを確認してください。

3.   移行先メールボックスの最大受信メッセージ サイズが十分であることを確認してください。

Fly Server は、複数のメールボックスのサイズを簡単に構成できるスクリプトを提供しています。

a.   https://github.com/AvePoint/FLY-Migration/tree/master/Scripts をクリックし、SetMaxReceiveAndSendSize.ps1 スクリプトと MailAddressList.csv ファイルを見つけます。

b.   スクリプトを実行するマシンに SetMaxReceiveAndSendSize.ps1 スクリプトおよび MailAddressList.csv ファイルをダウンロードします。

c.    MailAddressList.csv ファイルを開いて、MailAddress 列でメールボックスのメール アドレスを構成し、MaxReceiveSizeMB 列でメールボックスに設定する希望のサイズを構成します。

CSV file.

d.   ファイルを保存します。

e.   Windows PowerShell を使用してスクリプトを実行します。

f.    実行が完了すると、ウィンドウに表示されているディレクトリにレポートを表示することができます。

Exchange オンプレミスの場合、ペイロードの承諾を許可するために IIS の制限を増加するために、以下のステップを完了する必要もあります。

a.   Exchange サーバーがインストールされているマインで \FrontEnd\HttpProxy\ews ディレクトリで Web.Config ファイルを検索します。

b.   メモ帳でファイルを開きます。

c.    以下のノードに移動して、設定を構成します。

*注意: Base64 エンコーディングによるサイズの 33% の増加を許可するには、希望する新しい最大サイズ値に 4/3 を掛けてください。

<requestLimits maxAllowedContentLength="300000000" /> 属性の値を 400000000 (300000000*4/3) に更新します。単位は バイト です。

<httpRuntime maxRequestLength="300000" maxUrlLength=" " /> httpRuntime maxRequestLength=" " 属性の値を 400000 (300000*4/3) に更新します。単位は KB です。

<httpsTransport authenticationScheme=" " maxReceivedMessageSize="300000000" maxBufferSize=" " transferMode="Streamed" /> このノードが存在する場合、maxReceivedMessageSize=" " 属性の値を 400000000 (300000000*4/3) に更新します。単位は バイト です。このノードはファイルに複数存在するため、すべてのノードの値を更新することを確認してください。

d.   構成ファイルを保存します。

e.   Exchange サーバーがインストールされているマインで \ClientAccess\exchweb\ews ディレクトリで Web.Config ファイルを検索します。

f.    メモ帳でファイルを開きます。

g.   以下のノードに移動して、設定を構成します。

*注意: Base64 エンコーディングによるサイズの 33% の増加を許可するには、希望する新しい最大サイズ値に 4/3 を掛けてください。

<httpsTransport authenticationScheme=" " maxReceivedMessageSize="300000000" maxBufferSize=" " transferMode="Streamed" /> このノードが存在する場合、maxReceivedMessageSize=" " 属性の値を 400000000 (300000000*4/3) に更新します。単位は バイト です。このノードはファイルに複数存在するため、すべてのノードの値を更新することを確認してください。

<httpRuntime maxRequestLength="300000" maxUrlLength=" " /> httpRuntime maxRequestLength=" " 属性の値を 400000 (300000*4/3) に更新します。単位は KB です。

<requestLimits maxAllowedContentLength="300000000" /> 属性値を 400000000 (300000000*4/3) に更新します。単位は バイト です。

h.   構成ファイルを保存します。

i.     Windows PowerShell を開いて、以下のコマンドを Windows PowerShell ウィンドウに以下のコマンドを入力し、キーボードで Enter を押してコマンドを実行して IIS 制限を増加します。

IISReset /noforce

4.   (必須ではありません) 移行元データの取得後、データはダウンロードされ、.fts ファイルとして一時保存されます。.fts ファイルに機密情報が含まれている場合、それらはエージェント サーバーのウイルス対策ソフトで禁止・削除されることがあり、データを移行できない可能性があります。エージェント サーバーのウイルス対策ソフトの許可リストにこのファイル タイプを追加することをお勧めします。

5.   メールボックスを Exchange Online に移行する場合、Fly Server は移行中にテナントで利用可能な Microsoft 365 ライセンスを移行先ユーザーに割り当てることができます。ただし、Fly Server Microsoft 365 で新しいユーザーを自動的にプロビジョニングしないため、移行前に移行先ユーザーが既に存在することを確認してください。

*注意: 移行先が Microsoft 365 Multi-Geo テナントであり、特定場所のユーザーのメールボックスをプロビジョニングする場合、そのユーザーの希望するデータ場所を設定する必要があります。ライセンスがユーザーに割り当てられた後、メールボックスはユーザーの希望するデータ場所でプロビジョニングされます。

新しい Microsoft 365 ユーザーを追加する方法については、以下の説明を参照してください。

ユーザーを 個別に 追加する場合、https://docs.microsoft.com/ja-jp/microsoft-365/admin/add-users/add-users?view=o365-worldwide を参照してください。

ユーザーを 一括で 追加する場合、https://docs.microsoft.com/ja-jp/microsoft-365/enterprise/add-several-users-at-the-same-time を参照してください。

PowerShell を使用してユーザーを追加する場合、https://docs.microsoft.com/ja-jp/office365/enterprise/powershell/create-user-accounts-with-office-365-powershell を参照してください。

Microsoft Entra Sync または Microsoft Entra Connect を使用してローカル Active Directory のユーザーを Microsoft 365 に同期します。

*注意: 環境は Exchange ハイブリッド環境を使用する場合、Exchange ハイブリッド環境の注意事項 を参照してください。

*注意: パイロット移行を実行しようとする場合、先にルールを設定して特定のユーザーを同期することをお勧めします。

Synchronize All Users:

a.   Microsoft Entra Sync または Microsoft Entra Connect をインストールします (フェデレーションに対応する必要のある場合)

*注意: 同期の前に msExchMailboxGuid Null に設定してください。Exchange ライセンスが割り当てられる場合、msExchMailboxGuid 属性値の変更後にのみユーザー メールボックスを作成することができます。

msExchMailboxGuid Null に設定する方法については、以下の説明を参照してください。以下の手順を実行すると、すべてのユーザーがローカル Active Directory から Microsoft 365 に同期されることに注意してください。一部のユーザーのみを Microsoft 365 に同期する場合、以下の Set a Filter Rule and Synchronize Included Users を参照して、フィルター ルールを設定し、フィルター ルールに含まれているユーザーのみを同期します。

i.    Synchronization Rules Editor を管理者として実行します。

ii.   In from AD User Exchange を選択し、[Edit] をクリックします。

The Synchronization Rules Editor window

iii.  ポップアップ ウィンドウで [Yes] をクリックして、現在のルールを編集します。

The pop-up window

iv.   Edit Inbound Synchronization Rule ウィンドウで、Precedence の値を 1 に変更します。

The Precedence value in the Description group

v.    画面左側の Transformations を選択し、msExchMailboxGuid 属性を検索します。

The msExchMailboxGuid attribute

vi.   msExchMailboxGuid 属性の以下の設定を構成します。

§ FlowType 列で Expression を選択します。

§ Source 列に NULL を入力します。

§ Apply Once チェックボックスを選択します。

§ Update を選択します。

vii.  [Save] をクリックして設定を保存します。In from AD User Exchange Cloned ルールが自動的に作成され、元の In from AD User Exchange が自動的に無効化されます。

b.   Microsoft Entra Sync または Microsoft Entra Connect を実行して、ローカル Active Directory のユーザーを Microsoft 365 に同期します。

c.    同期後、Synchronization Rules Editor を使用して、元の In from AD User Exchange ルールを再度有効化します。これにより、新しいローカル ユーザーは正常にメールボックスを使用することができます。元の In from AD User Exchange ルールを再度有効化する方法については、以下の説明を参照してください。

i.    Synchronization Rules Editor を管理者として実行します。

ii.   In from AD User Exchange Cloned を選択し、[Delete] をクリックします。

iii.  ポップアップ ウィンドウで、[Yes] をクリックして現在のルールを削除します。

The In from AD – User Exchange - Cloned rule

iv.   元の In from AD User Exchange ルールを選択し、[Enable] をクリックします。

The original In from AD – User Exchange rule

d.   Exchange Online ライセンスをユーザーに割り当てます(必須ではありません)

Set a Filter Rule and Synchronize Included Users:

フィルター ルールを設定して、フィルター ルールに含まれているユーザーのみを同期するには、以下の説明を参照してください。

a.   Exchange 管理センターで、同期するユーザーのメールボックスを編集し、メールボックスのカスタム属性を選択して、メールボックス用のタブを指定します。例えば、属性 5 を選択して、タグとして FLYMigration を入力します。

Enter FLYMigration.

この手順を繰り返して、他のメールボックスのカスタム属性を追加します。

メールボックスのカスタム属性を一括追加するには、管理者として PowerShell を実行し、メールボックスのメール アドレス、カスタム属性番号、カスタム属性値を定義することで、各メールボックスの Set-Mailbox <email address> -customAttribute "attributevalue" コマンドを構成することもできます。例として以下のスクリーンショットを参照してください。

Example for configuring custom attribute

b.   Synchronization Rules Editor を管理者として実行します。

c.    In from AD User Exchange を選択して、[Export] をクリックしてルールを .txt ファイルにエクスポートします。ファイルの拡張子を編集して、.txt ファイルを .ps1 ファイルに変更します。

The Synchronization Rules Editor window

d.   .ps1 ファイルを開いて、Name 属性をカスタマイズし、Precedence 属性値を 100 以下に変更し、identifier および ImmutableTag 属性を削除します。

e.   Windows PowerShell でエクスポートされた .ps1 ファイルを実行して、Synchronization Rules Editor でルールを作成します。

f.    新規作成されたルールを選択して [Edit] をクリックします。

g.   Scoping filter を選択して、[Add clause] をクリックしてフィルター条件を追加します。Attribute 配下の extensionAttribute5 を選択します。Operator 配下の EQUAL を選択して、FLYMigration を属性値として入力します。 

filter condition

この手順を繰り返して、手順 a に従ってフィルター条件を追加します。

h.   画面左側の Transformations を選択し、msExchMailboxGuid 属性を検索します。

The msExchMailboxGuid attribute

i.    msExchMailboxGuid 属性の以下の設定を構成します。

FlowType 列で Expression を選択します。

Source 列に NULL を入力します。

Apply Once チェックボックスを選択します。

Update を選択します。

j.    [Save] をクリックして設定を保存します。

k.    元の In from AD User Exchange 同期ルールを選択し、[Edit] をクリックしてルールを編集します。

l.    ポップアップ ウィンドウで [Yes] をクリックしてルールを編集します。

The pop-up window

In from AD User Exchange Cloned ルールが自動的に作成され、元の In from AD User Exchange が自動的に無効化されます。

m.  Scoping filter を選択して、[Add clause] をクリックしてフィルター条件を追加します。Attribute 配下の extensionAttribute5 を選択します。Operator 配下の NOTEQUAL を選択して、FLYMigration を属性値として入力します。

filter condition 

この手順を繰り返して、手順 a に従ってフィルター条件を追加します。

n.   [Save] をクリックして設定を保存します。

o.   Microsoft Entra Sync または Microsoft Entra Connect を実行して、ローカル Active Directory のユーザーを Microsoft 365 に同期します。フィルター条件に含まれているメールボックス ユーザーのみが同期されます。

p.   同期後、Synchronization Rules Editor を使用して、元の In from AD User Exchange ルールを再度有効化します。これにより、新しいローカル ユーザーは正常にメールボックスを使用することができます。元の In from AD User Exchange ルールを再度有効化する方法については、以下の説明を参照してください。

i.    Synchronization Rules Editor を管理者として実行します。

ii.   In from AD User Exchange Cloned を選択し、[Delete] をクリックします。

iii.  ポップアップ ウィンドウで、[Yes] をクリックして現在のルールを削除します。

The In from AD – User Exchange - Cloned rule

iv.   元の In from AD User Exchange ルールを選択し、[Enable] をクリックします。

The original In from AD – User Exchange rule

q.   Exchange Online ライセンスをユーザーに割り当てます(必須ではありません)

6.   移行元 Exchange グローバル アドレス一覧 (GAL) のメール アドレスを移行先に同期する場合、Fly Server は同期するスクリプトを提供します。スクリプトは、Fly Server エージェント サーバー上の \FLY\Agent\bin ディレクトリの ExchangePowershell フォルダーに保存されています。

移行元グローバル アドレス一覧を移行先に同期するには、以下の手順を完了してください。

a.   ExchangePowershell フォルダーの GetMailContacts.ps1 ファイルに移動します。

b.   Windows PowerShell を使用して移行元 Exchange 環境に接続します。

Exchange オンプレミスに接続するには、https://docs.microsoft.com/ja-jp/powershell/exchange/connect-to-exchange-servers-using-remote-powershell?view=exchange-ps を参照してください。

Exchange Online に接続するには、https://docs.microsoft.com/ja-jp/powershell/exchange/connect-to-exchange-online-powershell?view=exchange-ps を参照してください。

c.    Windows PowerShell GetMailContacts.ps1 スクリプトを実行して、移行元グローバル アドレス一覧のメール アドレスを取得します。すべてのメールボックス タイプのメール アドレスを取得するかどうかを選択します。

Y を入力して、すべてのメールボックス タイプのメール アドレスを取得します。

Enter Y to get all mailboxes.

N を入力して、各メールボックス タイプのメール アドレスを取得するかどうかを選択します。

Enter N to decide the mailbox types you want to get.

d.   実行後、MailContacts_(TimeStamp).csv ファイルがスクリプトと同じディレクトリに生成されます。このファイルで取得したメール アドレスの詳細を表示することができます。

e.   MailContacts.csv MailContacts_(TimeStamp).csv ファイルの名前を置き換えます。

f.    ExchangePowershell フォルダーで AddMailContacts.ps1 ファイルに移動します。

g.   Windows PowerShell を使用して移行先 Exchange 環境に接続します。

Exchange オンプレミスに接続するには、https://docs.microsoft.com/ja-jp/powershell/exchange/connect-to-exchange-servers-using-remote-powershell?view=exchange-ps を参照してください。

Exchange Online に接続するには、https://docs.microsoft.com/ja-jp/powershell/exchange/connect-to-exchange-online-powershell?view=exchange-ps を参照してください。

h.   Windows PowerShell AddMailContacts.ps1 スクリプトを実行して、取得した移行元メール アドレスを移行先グローバル アドレス一覧に追加します。

メール アドレスが既に移行先に存在する場合、追加できないことを示す警告情報がウィンドウに表示されます。

i.    実行後、スクリプトと同じディレクトリに AddMailContacts_Report_(TimeStamp).csv ファイルが生成されます。このファイルで追加されたメール アドレスと失敗したメール アドレスの両方の詳細を表示することができます。

j.    取得した移行元メール アドレスが移行先グローバル アドレス一覧に追加するかどうかを確認するには、以下の説明を参照してください。

i.    移行先メールボックスで Outlook にログインします。

ii.   ホーム タブをクリックして、新規作成 グループの [新しいメール] をクリックします。

iii.  メッセージ タブをクリックして、名前 グループの [アドレス帳] をクリックします。

iv.   ドロップダウン リストから グローバル アドレス一覧 を選択します。

v.    取得した移行元メール アドレスが移行先グローバル アドレス一覧に追加されているかどうかを確認します。

移行先グローバル アドレス一覧から正常に同期された移行元メール アドレスを削除することもできます。

正常に同期された移行元メール アドレスを削除するには、以下の説明を参照してください。

a.   ExchangePowershell フォルダーで DeleteMailContacts.ps1 ファイルに移動します。

b.   Windows PowerShell を使用して移行先 Exchange 環境に接続します。

Exchange オンプレミスに接続するには、https://docs.microsoft.com/ja-jp/powershell/exchange/connect-to-exchange-servers-using-remote-powershell?view=exchange-ps を参照してください。

Exchange Online に接続するには、https://docs.microsoft.com/ja-jp/powershell/exchange/connect-to-exchange-online-powershell?view=exchange-ps を参照してください。

c.    Windows PowerShell DeleteMailContacts.ps1 スクリプトを実行して、移行先グローバル アドレス一覧から正常に同期された移行元メール アドレスを削除します。

メール アドレスが移行先に存在しない場合、削除できないことを示す警告情報がウィンドウに表示されます。

d.   実行後、スクリプトと同じディレクトリに DeleteMailContacts_Report_(TimeStamp).csv ファイルが生成されます。このファイルで削除されたメール アドレスと失敗したメール アドレスの両方の詳細を表示することができます。

e.   正常に同期された移行元メール アドレスが移行先グローバル アドレス一覧から削除されているかどうかを確認するには、以下の説明を参照してください。

i.    移行先メールボックスで Outlook にログインします。

ii.   ホーム タブをクリックして、新規作成 グループの [新しいメール] をクリックします。

iii.  メッセージ タブをクリックして、名前 グループの [アドレス帳] をクリックします。

iv.   アドレス帳 のドロップダウン リストから グローバル アドレス一覧 を選択します。

v.    正常に同期された移行元メール アドレスが移行先グローバル アドレス一覧から削除されているかどうかを確認します。

7.   移行元メールボックスが使用されているが、移行先メールボックスが使用されていない場合に、移行先グローバル アドレス リスト一覧 (GAL) に新しく追加されたメール アドレスを移行先ユーザーに表示しないようにするには、以下の手順を参照して、ユーザーのメール アドレスをグローバル アドレス一覧から非表示にすることができます。

*注意: 移行先グローバル アドレス一覧から非表示できるメールボックスは、ユーザー メールボックス / 共有メールボックス / リソース メールボックスです。

a.   https://github.com/AvePoint/FLY-Migration/tree/master/Scripts をクリックし、HiddenUserFromGAL.ps1 スクリプトと HiddenUserList.csv ファイルを見つけます。

b.   スクリプトを実行するマシンに HiddenUserFromGAL.ps1 スクリプトおよび HiddenUserList.csv ファイルをダウンロードします。

*注意: スクリプトおよびファイルがグローバル アドレス一覧からユーザーのメール アドレスを非表示にする際に使用されるため、スクリプトおよびファイルの保存場所を記憶してください。

c.    HiddenUserList.csv ファイルを開いて、MailAddress 列でユーザーのメール アドレスを構成します。

HiddenUserList.csv file.

d.   ファイルを保存します。

e.   HiddenUserFromGAL.ps1 スクリプトを特定し、Windows PowerShell で実行します。

f.    H を入力し、キーボードの Enter キーを押すと、ユーザーを移行先グローバル アドレス一覧から非表示にすることができます。

g.   実行が完了すると、ウィンドウに表示されているディレクトリに生成される HiddenUser_Report_(TimeStamp).csv ファイルを表示することができます。

*注意: この実行は非表示になっているメール アドレスに影響を与えません。

8.   移行ポリシーで該当するオプションを選択することで、移行元の秘密度ラベルを削除し、移行先の秘密度ラベルをメールに適用することができます。この機能を使用する前に、追加の準備や注意すべき情報があります。詳細については、付録 J 秘密度ラベルの管理に関する情報 を参照してください。

9.   Exchange 移行で Exchange Online PowerShell V3 モジュールを使用するには、Fly Server マネージャー サーバーおよびエージェント サーバーの Windows PowerShell バージョンが 5.1 以降であり、Fly Server マネージャー サーバーおよびエージェント サーバーの .NET Framework バージョンが 4.7.2 以降であることを確認してください。