管理ツールを使用して 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 環境を準備する
Exchange 管理シェルで次のコマンドを実行して、すべてのメールボックスがクラウドにあることを確認します。
Set-AdServerSettings -ViewEntireForest $true Get-Mailbox
注:
既定では、組み込みの管理者メールボックスはクラウド同期または接続Microsoft Entraによってクラウドに同期されません。 続行する前に、Disable-Mailbox を使用してこれらのメールボックスを無効にする必要があります。
次のコマンドを実行して、Exchange Online テナント共存ドメイン (通常は
<domain>.mail.onmicrosoft.com
など) がターゲット配信ドメインとして構成されていることを確認します。Get-RemoteDomain Hybrid* | Format-List DomainName,TargetDeliveryDomain
共存ドメインがリモート ドメインとして追加されていない場合は、New-RemoteDomain を使用して追加できます。 以下に例を示します。
New-RemoteDomain -Name 'Hybrid Domain - <domain>.mail.onmicrosoft.com' -DomainName '<domain>.mail.onmicrosoft.com'
ターゲット配信ドメインとして設定されていない場合は、 Set-RemoteDomain を使用して設定できます。 例:
Set-RemoteDomain -TargetDeliveryDomain: $true -Identity 'Hybrid Domain - <domain>.mail.onmicrosoft.com'
注:
最後の Exchange サーバーを既に削除した場合、または存在しなかった場合は、Exchange スナップインを使用して Set-RemoteDomain コマンドレットと New-RemoteDomain コマンドレットにアクセスできます。 ドメインに参加しているコンピューターに、Exchange Server 2019 の最後の累積的な更新プログラムから Exchange 管理ツールをインストールし、Windows PowerShellで次のコマンドを実行します。
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
Exchange スナップインを手動で有効にする方法は、この特定のケースでのみサポートされます。
Exchange Serverがない環境に Exchange 管理ツールをインストールすると、新しい Exchange organizationが作成され、Active Directory for Exchange が準備されます。 大規模な AD 展開がある場合、または別のチームが AD を管理する場合は、次の手順を使用します。ad を準備するために、Exchange Server用に Active Directory とドメインを準備します。
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 とドメインを準備します。
この記事の「 RSAT ツールのインストール、アンインストール、オフ/オン」の手順を使用して、Windows リモート サーバー管理ツールをインストールします。
スクリプト エージェントが有効になっている場合は、Exchange Serverの $env:ExchangeInstallPath\Bin\CmdletExtensionAgents から、管理ツールの更新プログラムがインストールされているコンピューターの$env:ExchangeInstallPath\Bin\コマンドレットExtensionAgents フォルダーにScriptingAgentConfig.xmlをコピーします。
指定されたスクリプトを実行して、受信者を管理するためのドメイン管理者権限のないユーザーを許可する Recipient Management EMT セキュリティ グループを作成します。
管理ツールを使用してコンピューターにサインインし、ドメイン 管理として更新し、Windows PowerShellを開きます。
次のコマンドを実行して、Recipient Management スナップインを読み込みます。
Add-PSSnapin *RecipientManagement
$env:ExchangeInstallPath\Scripts フォルダーから Add-PermissionForEMT.ps1 を実行します。 このスクリプトは、Recipient Management EMT というセキュリティ グループを作成します。 このグループのメンバーには、受信者管理アクセス許可があります。 ドメイン管理者権限を持たないすべての管理者は、受信者管理を実行する必要があります。このセキュリティ グループに追加する必要があります。
適切なアクセス許可 (ドメイン管理者または受信者管理 EMT のメンバー) を使用して管理ツール更新プログラムを使用してコンピューターにサインインし、次を実行して受信者管理スナップインを読み込みます。
Add-PSSnapin *RecipientManagement
受信者を管理するたびに、この手順を実行する必要があります。
すべての受信者管理コマンドレットをテストし、期待される結果が表示されることを確認します。
注:
RecipientManagement
のような PowerShell スナップインを使用してアクセスする場合のコマンドレットは、New-PSSession
を使用して実行する場合と比較して、出力データ型に違いがあります。 これは想定されており、コマンドレットのデータ型に依存するすべてのスクリプトは、それに応じて変更する必要があります。
たとえば、(RecipientManagement SnapIn
で使用した場合Get-Mailbox User).EmailAddresses.GetType()
、データ型はProxyAddressCollection
として生成されますが、PSSession で実行する場合と同じコマンドレットは、ArrayList
としてデータ型を生成します。最後の Exchange サーバーをシャットダウンし、すべての受信者管理コマンドレットが引き続き期待どおりに動作することを確認します。
注:
最終的な Exchange サーバーをシャットダウンし、
New-
やSet-RemoteMailbox
などの作成および更新コマンドをテストすると、待機時間が大幅に増加します。 これは、管理監査ログ初期化子が電源を切った Exchange サーバーへの接続を試行し、タイムアウト遅延が約 40 秒発生するためです。 「Active Directory クリーンアップ」セクションで説明されているCleanupActiveDirectoryEMT.ps1
スクリプトを使用して Active Directory 内のサーバーをクリーンアップした後、この遅延は発生しなくなります。
最後のExchange Serverを完全にシャットダウンする
最後のExchange Serverを完全にシャットダウンする場合は、次の手順を使用して、環境のセキュリティ体制をクリーンし、改善することをお勧めします。
重要
受信者管理以外の目的で最後の Exchange サーバー (SMTP リレーなど) を使用する場合は、シャットダウンしないでください。
最後の Exchange サーバーを有効にします。
ハイブリッド展開でオンプレミスの Exchange サーバーの使用を停止する方法とタイミングに関する記事のシナリオ 2 の手順 1 から 8 を実行して、ハイブリッド構成をクリーンアップします。
Exchange 管理シェルで次のコマンドを実行して、フェデレーション信頼を削除します。
Remove-FederationTrust "Microsoft Federation Gateway"
フェデレーション証明書を削除する: 証明書の拇印を見つけるには、次を実行します。
$fedThumbprint = (Get-ExchangeCertificate | Where-Object {$_.Subject -eq "CN=Federation"}).Thumbprint
証明書の拇印を削除するには、次を実行します。
Remove-ExchangeCertificate -Thumbprint $fedThumbprint
OAuth 用に作成されたサービス プリンシパル資格情報を削除します。 これを行うには、OAuth 証明書のキー値と一致する KeyId を特定する必要があります。 一致する KeyId を見つけるには、次の手順に従います。
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)
上記の$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 | Where-Object {$_.Value -eq $credValue}).KeyId
これにより、値が上記の$credValueと一致するキーの KeyId が提供されます。
サービス プリンシパルの資格情報を削除するには、次のコマンドを実行します。
Import-Module Microsoft.Graph.Applications $params = @{ KeyId = $keyId } Remove-MgServicePrincipalKey -ServicePrincipalId $p.Id -BodyParameter $params
ハイブリッド エージェントをアンインストールします。 環境にモダン ハイブリッド構成がある場合は、次の手順に従って削除します。
ハイブリッド エージェントがインストールされているコンピューターで、Exchange 管理シェルを開き、スクリプト C:\Program Files\Microsoft Hybrid Service\HybridManagement.psm1 の場所にディレクトリを変更し、ハイブリッド エージェント PowerShell モジュールをインポートします。
Import-Module .\HybridManagement.psm1
アプリを削除するには、AppId が必要です。 Exchange Online PowerShell で次のいずれかのコマンドレットを使用して、AppId を見つけます。
Get-OrganizationRelationship ((Get-OnPremisesOrganization).OrganizationRelationship) | Select-Object TargetSharingEpr
出力は次のようになります。
TargetSharingEpr ---------------- https://123e4567-e89b-12d3-a456-426614174000.resource.mailboxmigration.his.msappproxy.net/EWS/Exchange.asmx ---------------- https://123e4567-e89b-12d3-a456-426614174000.resource.mailboxmigration.his.msappproxy.net/EWS/Exchange.asmx
または、次のコマンドを実行します。
Get-MigrationEndpoint "Hybrid Migration Endpoint - EWS (Default Web Site)" | Select-Object RemoteServer
出力は次のようになります。
RemoteServer ------------ 123e4567-e89b-12d3-a456-426614174000.resource.mailboxmigration.his.msappproxy.net
この例では、123e4567-e89b-12d3-a456-426614174000 は、次の手順で使用する AppId です。
次を実行してアプリを削除します。
Remove-HybridApplication -appId 123e4567-e89b-12d3-a456-426614174000 -Credential (Get-Credential)
注:
AppId は、この例でのみ 123e4567-e89b-12d3-a456-426614174000 です。値が異なります。
「ハイブリッド エージェントをアンインストールする」の手順を使用して 、ハイブリッド エージェントをアンインストールします。
まだない場合は、MX レコードと自動検出 DNS レコードをExchange Onlineにポイントします。 この手順は、メール フローが影響を受けないようにするために重要です。 詳細については、「Office 365の外部ドメイン ネーム システム レコード」を参照してください。
最後の 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 に更新するには、次の手順を実行します。
PrepareAD を実行するには、次のコマンドを使用します。
.\Setup.EXE /PrepareAD /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
次のコマンドを使用して、管理ツールのみの役割をアップグレードします。
.\Setup.EXE /m:Upgrade /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
以前、管理ツールを使用して Exchange ハイブリッド環境の受信者を管理するに従って環境内の
.\CleanupActiveDirectoryEMT.ps1
を実行していた場合は、.\CleanupActiveDirectoryEMT.ps1
スクリプトをもう一度実行します (/PrepareAD は、CleanupActiveDirectoryEMT.ps1
が削除するオブジェクトを再作成したため)。警告
既に管理ツールを使用して Exchange ハイブリッド環境の受信者の管理に従っており、その前にスクリプトが既に実行されている (実行中の Exchange サーバーがない) 環境でのみ、
CleanupActiveDirectoryEMT.ps1
スクリプトを実行していることを確認します。 このアクションを元に戻すことはできません。
管理ツールを新しいセキュリティ更新プログラム (SU) にアップグレードする
セキュリティ更新プログラム パッケージをダウンロードし、それを実行して管理ツールの役割を新しい SU に更新します。