Share via


管理ツールを使用して Exchange ハイブリッド環境の受信者を管理する

Exchange ハイブリッド環境で受信者管理のためだけにオンプレミスの Exchange サーバーを維持している場合、すべての受信者をExchange Onlineに移動した後でも、最後の Exchange サーバーをシャットダウンし、Windows PowerShellを使用して受信者を管理できる場合があります。

以前は、すべてのメールボックスをExchange Onlineに移動した後でも、それらのクラウド受信者属性を管理するためにオンプレミスの Exchange サーバーが必要でした。 オンプレミスの Active Directoryで Exchange サーバー上の受信者を編集し、その属性がディレクトリ同期を使用して Microsoft Entra ID にコピーされました。 この方法を使用して、受信者がすべてクラウドに存在する場合でも、受信者を管理できます。 Exchange サーバーのシャットダウンは完全にオプションです。

注:

Microsoft Entra ID またはExchange Onlineでオンプレミスの受信者を直接変更することはできません。そのため、クラウド同期または Microsoft Entra Connect ツールを使用してオンプレミスの Exchange サーバーとディレクトリの同期が必要です。 詳細については、「 オンプレミスから Exchange サーバーを使用停止したくない理由」を参照してください。

この新しい方法は私のために機能しますか?

Exchange 管理ツールの更新バージョンでは、次のステートメントがすべて当てはまる場合、オンプレミスの Exchange サーバーを実行する必要がなくなります。

  • すべてのメールボックスとパブリック フォルダーを Exchange Online (オンプレミスの Exchange 受信者なし) に移行しました。
  • 受信者管理とクラウド同期に AD を使用するか、同期に接続Microsoft Entra使用します。
  • オンプレミスの Exchange 管理センターまたは Exchange ロールベースのアクセス制御 (RBAC) を使用したり、必要としたりすることはありません。
  • 受信者管理にのみWindows PowerShellを使用できます。
  • 受信者管理アクティビティの監査やログ記録は必要ありません。
  • オンプレミスの Exchange サーバーを 1 つだけ実行し、受信者管理のみを実行しています。
  • Exchange サーバーを実行せずに受信者を管理する必要があります。

Exchange 2019 累積的な更新プログラム 12 以降の Exchange セットアップを使用して、ドメインに参加しているコンピューター (クライアントまたはサーバー) に最新の管理ツールをインストールします。 手順については、「 Exchange 管理ツールのインストール」を参照してください。

警告

最後のサーバーをアンインストールしないでください。 サーバーをシャットダウンし、スクリプトを使用してクリーンすることもできますが、アンインストールしないでください。 サーバーをアンインストールすると、管理ツール パッケージが Exchange 属性を管理できなくなる重要な情報が Active Directory から削除されます。 詳細情報: 重要: 注意する

更新された Exchange 管理ツールを使用すると、ドメイン管理者と Recipient Management EMT グループのメンバー (以下の手順 6 で作成) を使用して、Windows PowerShellを使用して、Exchange サーバーを実行せずに次のコマンドレットを実行できます。

  • Set-MailUser、Get-MailUser、New-MailUser、Remove-MailUser、Disable-MailUser、Enable-MailUser。
  • Set-MailContact、Get-MailContact、New-MailContact、Remove-MailContact、Disable-MailContact、Enable-MailContact。
  • Set-RemoteMailbox、Get-RemoteMailbox、New-RemoteMailbox、Remove-RemoteMailbox、Disable-RemoteMailbox、Enable-RemoteMailbox。
  • Set-DistributionGroup、Get-DistributionGroup、New-DistributionGroup、Remove-DistributionGroup、Disable-DistributionGroup、Enable-DistributionGroup (Upgrade-DistributionGroup を除く)。
  • Get-DistributionGroupMember、Add-DistributionGroupMember、Remove-DistributionGroupMember、Update-DistributionGroupMember。
  • Set-EmailAddressPolicy、Get-EmailAddressPolicy、New-EmailAddressPolicy、Remove-EmailAddressPolicy、Update-EmailAddressPolicy。
  • Set-User と Get-User。

注:

Microsoft Entra ID またはExchange Onlineでオンプレミスの受信者を直接変更することはできません。

管理ツールがExchange Serverなしで実行できることを確認する

クラウド受信者管理専用で実行されている 1 つの Exchange サーバーが環境に含まれている場合は、このセクションの手順を使用して管理ツールの更新プログラムをテストします。

Exchange 環境を準備する

  1. Exchange 管理シェルで次のコマンドを実行して、すべてのメールボックスがクラウドにあることを確認します。

    Set-AdServerSettings -ViewEntireForest $true
    Get-Mailbox
    

    注:

    既定では、組み込みの管理者メールボックスはクラウド同期または接続Microsoft Entraによってクラウドに同期されません。 続行する前に、Disable-Mailbox を使用してこれらのメールボックスを無効にする必要があります。

  2. 次のコマンドを実行して、Exchange Online テナント共存ドメイン (通常は "contoso.mail.onmicrosoft.com" など) がターゲット配信ドメインとして構成されていることを確認します。

    Get-RemoteDomain Hybrid* | Format-List DomainName,TargetDeliveryDomain
    

    共存ドメインがリモート ドメインとして追加されていない場合は、New-RemoteDomain を使用して追加できます。 例:

    New-RemoteDomain -Name 'Hybrid Domain - M365B434489.mail.onmicrosoft.com' -DomainName 'M365B434489.mail.onmicrosoft.com'
    

    ターゲット配信ドメインとして設定されていない場合は、 Set-RemoteDomain を使用して設定できます。 例:

    Set-RemoteDomain -TargetDeliveryDomain: $true -Identity 'Hybrid Domain - M365B434489.mail.onmicrosoft.com'
    

    注:

    最後の Exchange サーバーを既に削除した場合、またはまだサーバーを持っていない場合は、Exchange snapin を使用して Set-RemoteDomain コマンドレットと New-RemoteDomain コマンドレットにアクセスできます。 ドメインに参加しているコンピューターに、Exchange Server 2019 の最後の累積的な更新プログラムから Exchange 管理ツールをインストールし、Windows PowerShellで次のコマンドを実行します。

    Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
    

    Exchange snapin を手動で有効にするこの方法は、この特定のケースでのみサポートされます。

    Exchange Serverを持たなかった環境に Exchange 管理ツールをインストールすると、新しい Exchange organizationが作成され、Exchange 用の Active Directory が準備されます。 大規模な AD 展開がある場合、または別のチームが AD を管理する場合は、次の手順を使用します。ad を準備するために、Exchange Server用に Active Directory とドメインを準備します。

  3. Exchange Server 2019 年 4 月 2022 年累積的な更新プログラムのセットアップを使用して、Exchange 管理ツールの役割をインストールします。 更新されたツールは、Exchange 2013 以降の Exchange organization内の任意のドメインに参加しているコンピューターにインストールできます。

    注:

    Exchange 2013 または Exchange 2016 のみの環境に更新された Exchange 管理ツールをインストールすると、Exchange organizationが Exchange Server 2019 にアップグレードされ、AD スキーマの更新が実行されます。 大規模な AD 展開がある場合、または別のチームが AD を管理する場合は、次の手順を使用します。スキーマの更新を実行するために、Exchange Server用に Active Directory とドメインを準備します。

  4. この記事の「 RSAT ツールのインストール、アンインストール、オフ/オン」の手順を使用して、Windows リモート サーバー管理ツールをインストールします。

  5. スクリプト エージェントが有効になっている場合は、Exchange Server$env:ExchangeInstallPath\Bin\CmdletExtensionAgents から、管理ツールの更新プログラムがインストールされているコンピューターの$env:ExchangeInstallPath\Bin\コマンドレットExtensionAgents フォルダーにScriptingAgentConfig.xmlをコピーします。

  6. 指定されたスクリプトを実行して、受信者を管理するためのドメイン管理者権限のないユーザーを許可する Recipient Management EMT セキュリティ グループを作成します。

    1. 管理ツールを使用してコンピューターにサインインし、ドメイン 管理として更新し、Windows PowerShellを開きます。

    2. 次のコマンドを実行して、Recipient Management スナップインを読み込みます。

      Add-PSSnapin *RecipientManagement
      
    3. $env:ExchangeInstallPath\Scripts フォルダーから Add-PermissionForEMT.ps1 を実行します。 このスクリプトは、Recipient Management EMT というセキュリティ グループを作成します。 このグループのメンバーには、受信者管理アクセス許可があります。 ドメイン管理者権限を持たないすべての管理者は、受信者管理を実行する必要があります。このセキュリティ グループに追加する必要があります。

  7. 適切なアクセス許可 (ドメイン管理者または受信者管理 EMT のメンバー) を使用して管理ツール更新プログラムを使用してコンピューターにサインインし、次を実行して受信者管理スナップインを読み込みます。

    Add-PSSnapin *RecipientManagement
    

    受信者を管理するたびに、この手順を実行する必要があります。

  8. すべての受信者管理コマンドレットをテストし、期待される結果が表示されることを確認します。

注:

Powershell Snapin like RecipientManagement を使用してアクセスするコマンドレットは、 を使用して New-PSSession実行する場合と比較して、出力データ型に違いがあります。 これは想定されており、コマンドレットのデータ型に依存するすべてのスクリプトは、それに応じて変更する必要があります。

たとえば、 (Get-Mailbox User).EmailAddresses.GetType()RecipientManagement SnapIn 使用すると、 として ProxyAddressCollectionデータ型が生成されます。PSSession で実行する場合、同じコマンドレットと同様 ArrayListに、 としてデータ型が生成されます。

  1. 最後の Exchange サーバーをシャットダウンし、すべての受信者管理コマンドレットが引き続き期待どおりに動作することを確認します。

最後のExchange Serverを完全にシャットダウンする

最後のExchange Serverを完全にシャットダウンする場合は、次の手順を使用して、環境のセキュリティ体制をクリーンし、改善することをお勧めします。

重要

受信者管理以外の目的で最後の Exchange サーバーを使用する場合 (exmaple、SMTP リレーの場合)、シャットダウンしないでください。

  1. 最後の Exchange サーバーを有効にします。

  2. ハイブリッド展開でオンプレミスの Exchange サーバーの使用を停止する方法とタイミングに関する記事のシナリオ 2 の手順 1 から 8 を実行して、ハイブリッド構成をクリーンアップします。

  3. Exchange 管理シェルで次のコマンドを実行して、フェデレーション信頼を削除します。

    Remove-FederationTrust "Microsoft Federation Gateway"
    
  4. フェデレーション証明書を削除する: 証明書の拇印を見つけるには、次を実行します。

    $fedThumbprint = (Get-ExchangeCertificate | ?{$_.Subject -eq "CN=Federation"}).Thumbprint
    

    証明書の拇印を削除するには、次を実行します。

    Remove-ExchangeCertificate -Thumbprint $fedThumbprint
    
  5. OAuth 用に作成されたサービス プリンシパル資格情報を削除します。 これを行うには、OAuth 証明書のキー値と一致する KeyId を特定する必要があります。 一致する KeyId を見つけるには、次の手順に従います。

    1. Exchange 管理シェルで次のコマンドを実行して、OAuth credValue を取得します。

      $thumbprint = (Get-AuthConfig).CurrentCertificateThumbprint
      $oAuthCert = (dir Cert:\LocalMachine\My) | where {$_.Thumbprint -match $thumbprint}
      $certType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert
      $certBytes = $oAuthCert.Export($certType)
      $credValue = [System.Convert]::ToBase64String($certBytes)
      
      
    2. 上記の$credValueと同じ KeyId を見つけ、Microsoft Graph PowerShell を使用してテナント管理者として次のコマンドを実行します。

      Import-Module Microsoft.Graph.Applications
      Connect-MgGraph -Scopes "Application.Read.All"
      $ServiceName = "00000002-0000-0ff1-ce00-000000000000"
      $p = Get-MgServicePrincipalByAppId -AppId $ServiceName
      $keyId = (Get-MgServicePrincipal -ServicePrincipalId $p.Id).KeyCredentials $true | ?{$_.Value -eq $credValue}).KeyId
      

      これにより、値が上記の$credValueと一致するキーの KeyId が提供されます。

    3. サービス プリンシパルの資格情報を削除するには、次のコマンドを実行します。

      Import-Module Microsoft.Graph.Applications
      $params = @{
      KeyId = $keyId
      }
      Remove-MgServicePrincipalKey -ServicePrincipalId $p.Id -BodyParameter $params
      
  6. ハイブリッド エージェントをアンインストールします。 環境にモダン ハイブリッド構成がある場合は、次の手順に従って削除します。

    1. ハイブリッド エージェントがインストールされているコンピューターで、Exchange 管理シェルを開き、スクリプト C:\Program Files\Microsoft Hybrid Service\HybridManagement.psm1 の場所にディレクトリを変更し、ハイブリッド エージェント PowerShell モジュールをインポートします。

      Import-Module .\HybridManagement.psm1
      
    2. アプリを削除するには、AppId が必要です。 Exchange Online PowerShell で次のいずれかのコマンドレットを使用して、AppId を見つけます。

      Get-OrganizationRelationship ((Get-OnPremisesOrganization).OrganizationRelationship) | Select-Object TargetSharingEpr
      

      出力は次のようになります。

      TargetSharingEpr
      ----------------
      https://6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7.resource.mailboxmigration.his.msappproxy.net/EWS/Exchange.asmx
      ----------------
      https://6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7.resource.mailboxmigration.his.msappproxy.net/EWS/Exchange.asmx
      

      または、次のコマンドを実行します。

      Get-MigrationEndpoint "Hybrid Migration Endpoint - EWS (Default Web Site)" | Select-Object RemoteServer
      

      出力は次のようになります。

      RemoteServer
      ------------
      6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7.resource.mailboxmigration.his.msappproxy.net
      

      この例では、6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7 は、次の手順で使用する AppId です。

    3. 次を実行してアプリを削除します。

      Remove-HybridApplication -appId 6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7 -Credential (Get-Credential)
      

      注:

      AppId は、この例でのみ 6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7 です。値は異なります。

    4. 「ハイブリッド エージェントをアンインストールする」の手順を使用して 、ハイブリッド エージェントをアンインストールします

  7. まだない場合は、MX レコードと自動検出 DNS レコードをExchange Onlineにポイントします。 この手順は、メール フローが影響を受けないようにするために重要です。 詳細については、「Office 365の外部ドメイン ネーム システム レコード」を参照してください。

  8. 最後の Exchange サーバーをシャットダウンします。

Active Directory クリーンアップ

オンプレミスの Exchange サーバーをもう一度実行しない場合は、不要な Exchange オブジェクトを削除して Active Directory をクリーンすることをお勧めします。

警告

この手順を元に戻すことはできません。 もう一度Exchange Server実行しない場合にのみ続行します。

AD クリーンアップは、管理ツールに付属の CleanupActiveDirectoryEMT スクリプトを実行することで実行できます。 このスクリプトは、システム メールボックス、不要な Exchange コンテナー、ドメインと構成パーティション上の Exchange セキュリティ グループのアクセス許可、および Exchange セキュリティ グループを削除します。 ドメイン管理者の資格情報を使用してこのスクリプトを実行する必要があります。

このスクリプトは、次の場合に使用できます。 $env:ExchangeInstallPath\Scripts\CleanupActiveDirectoryEMT.ps1

重要: 注意する

警告

最後の Exchange サーバーをシャットダウンすると、Exchange RBAC は機能しなくなります。 Exchange 受信者グループの一部であったユーザーや、受信者の管理を許可するカスタム Exchange ロールを持っていたユーザーは、アクセス許可を持たなくなります。 ドメイン管理者と、スクリプトを使用して Add-PermissionForEMT.ps1 アクセス許可が割り当てられているユーザーのみが受信者管理を実行できます。

前に説明したように、最後の Exchange サーバーをシャットダウンし、Exchange ハイブリッドと Active Directory のクリーンアップ手順を実行したら、 最後の Exchange サーバーを消去して再フォーマットする必要があります。 Exchange Serverをアンインストールしないでください

Exchange Server管理ツールのみのロール (実行中のExchange Serverなし) を新しい累積的な更新プログラムまたはセキュリティ更新プログラムに更新する

この記事の手順に従って、最後のExchange Serverを削除し、ハイブリッド オブジェクトの管理に管理ツールのみの役割を使用しています。

管理ツールを新しい累積的な更新プログラム (CU) にアップグレードする

このような環境では、管理ツールのみのロール サーバーを新しい CU にアップグレードすると、次のエラーで失敗する可能性があります。

新しい累積的な更新プログラムへのアップグレード管理ツールのスクリーンショット。

Exchange Server管理ツールを新しい CU に更新する前に、Active Directory を 'Setup /PrepareAD' で準備する必要があります。

管理ツールを新しい CU に更新するには、次の手順を実行します。

  1. PrepareAD を実行するには、次のコマンドを使用します。

    .\Setup.EXE /PrepareAD /IAcceptExchangeServerLicenseTerms_DiagnosticDataON

  2. 次のコマンドを使用して、管理ツールのみの役割をアップグレードします。

    .\Setup.EXE /m:Upgrade /IAcceptExchangeServerLicenseTerms_DiagnosticDataON

  3. 以前、管理ツールを使用して Exchange ハイブリッド環境の受信者を管理するに従って環境内で実行.\CleanupActiveDirectoryEMT.ps1していた場合は、スクリプトをもう一度実行.\CleanupActiveDirectoryEMT.ps1します (/PrepareAD によって削除されるCleanupActiveDirectoryEMT.ps1オブジェクトが再作成されたため)。

警告

管理ツールを使用して既に Exchange ハイブリッド環境の受信者の管理に従っており、スクリプトが既に実行CleanupActiveDirectoryEMT.ps1されている (実行中の Exchange サーバーがない) 環境でのみスクリプトを実行していることを確認してください。 この操作は元に戻せません。

管理ツールを新しいセキュリティ更新プログラム (SU) にアップグレードする

セキュリティ更新プログラム パッケージをダウンロードし、それを実行して管理ツールの役割を新しい SU に更新します。