共用方式為


使用管理工具管理 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 Connect 進行同步處理。
  • 您不需要使用或要求內部部署 Exchange 系統管理中心或 Exchange 角色型存取控制 (RBAC) 。
  • 您只習慣使用 Windows PowerShell 來管理收件者。
  • 您不需要稽核或記錄收件者管理活動。
  • 您只執行一部內部部署 Exchange 伺服器,且僅用於收件者管理。
  • 您想要在不執行任何 Exchange 伺服器的情況下管理收件者。

使用 Exchange 2019 累積更新 12 或更新版本中的 Exchange 安裝程式,在已加入網域的任何電腦上安裝最新的管理工具, (客戶端或伺服器) 。 如需指示,請 參閱安裝 Exchange 管理工具

警告

請勿 卸載最後一部伺服器。 您可以選擇關閉伺服器,並使用腳本來清除,但請勿卸載。 卸載伺服器會從 Active Directory 中移除重大資訊,這會中斷管理工具套件管理 Exchange 屬性的能力。 深入瞭解: 重要事項:請注意

透過更新的 Exchange 管理工具,透過下列步驟 6 建立的收件者管理 EMT 群組 (網域系統管理員和成員) 可以使用 Windows PowerShell 來執行下列 Cmdlet,而不需要執行 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 的情況下執行

如果您的環境包含只針對雲端收件者管理執行的單一 Exchange 伺服器,請使用本節中的步驟來測試管理工具更新。

準備 Exchange 環境

  1. 在 Exchange 管理命令介面中執行下列命令,確認所有信箱都在雲端中:

    Set-AdServerSettings -ViewEntireForest $true
    Get-Mailbox
    

    注意事項

    根據預設,雲端同步處理或連線 Microsoft Entra 不會將內建系統管理員信箱同步至雲端。 繼續之前,您應該使用 Disable-Mailbox 停用這些信箱。

  2. 執行下列命令,確認 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 Cmdlet。 在任何已加入網域的計算機上,從 Exchange Server 2019 的最後一個累積更新安裝 Exchange 管理工具,並在 Windows PowerShell 中執行下列命令:

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

    此手動啟用 Exchange 嵌入式管理單元的方法僅支援此特定案例。

    在從未有 Exchange Server的環境中安裝 Exchange 管理工具會建立新的 Exchange 組織,併為 Exchange 準備 Active Directory。 如果您有大型 AD 部署,或是個別小組管理 AD,請使用此處的步驟:準備 Active Directory 和網域以供 Exchange Server 準備 AD。

  3. 使用 Exchange Server 2019 2022 年 4 月累積更新設定安裝 Exchange 管理工具角色。 更新的工具可以安裝在 Exchange 2013 或更新版本 Exchange 組織中任何已加入網域的電腦上。

    注意事項

    在只有 Exchange 2013 和 /或 Exchange 2016 的環境中安裝更新的 Exchange 管理工具,會將 Exchange 組織升級至 Exchange Server 2019,並執行 AD 架構更新。 如果您有大型 AD 部署,或是個別小組管理 AD,請使用此處的步驟:準備 Active Directory 和網域,Exchange Server 執行架構更新。

  4. 使用本文中的步驟安裝 Windows 遠端伺服器管理工具: 安裝、卸載和關閉/開啟 RSAT 工具

  5. 如果您已啟用腳本代理程式,請將 ScriptingAgentConfig.xml從 Exchange Server 上的 $env:ExchangeInstallPath\Bin\CmdletExtensionAgents 複製到計算機上已安裝管理工具更新的 $env:ExchangeInstallPath\Bin\CmdletExtensionAgents 資料夾。

  6. 執行提供的腳本來建立收件者管理 EMT 安全組,該群組會授與沒有網域系統管理員許可權的使用者管理收件者。

    1. 以網域 管理員 身分使用管理工具更新登入計算機,並開啟 Windows PowerShell。

    2. 執行下列命令來載入收件者管理嵌入式管理單元:

      Add-PSSnapin *RecipientManagement
      
    3. 從 $env:ExchangeInstallPath\Scripts 資料夾執行 Add-PermissionForEMT.ps1。 腳本會建立名為收件者管理 EMT 的安全組。 此群組的成員具有收件者管理許可權。 所有沒有網域系統管理員許可權的系統管理員都必須執行收件者管理,應新增至此安全組。

  7. 使用適用於網域管理員或收件者管理 EMT) 成員 (的適當許可權,使用管理工具更新登入計算機,然後執行下列命令來載入收件者管理嵌入式管理單元:

    Add-PSSnapin *RecipientManagement
    

    您每次管理收件者時都必須執行此步驟。

  8. 測試所有收件者管理 Cmdlet,並確認您看到預期的結果。

    注意事項

    透過PowerShell嵌入式管理單元存取時的 Cmdlet 與 RecipientManagement 使用 New-PSSession執行 時的輸出資料類型不同。 這是預期的,而且任何依賴 Cmdlet 資料類型的腳本都應該據以修改。

    例如,當透過 使用 RecipientManagement SnapIn 時, (Get-Mailbox User).EmailAddresses.GetType() 會將資料類型產生為ProxyAddressCollection,而在 PSSession 中執行時,相同的 Cmdlet 會將資料類型產生為 ArrayList

  9. 關閉最後一部 Exchange 伺服器,並確認所有收件者管理 Cmdlet 仍如預期般運作。

    注意事項

    當您關閉最終的 Exchange 伺服器並測試 或 之類的New-Set-RemoteMailbox建立和更新命令時,您會發現延遲明顯增加。 這是因為 管理員 稽核記錄初始化表達式嘗試連線到已關閉電源的 Exchange 伺服器,導致約 40 秒的逾時延遲。 使用 CleanupActiveDirectoryEMT.ps1 Active Directory 清理一節中所述的腳本清除 Active Directory 中的伺服器之後,就不會再出現此延遲。

永久關閉最後一個 Exchange Server

如果您想要永久關閉最後一個 Exchange Server,建議您使用下列步驟來清除並改善環境的安全性狀態。

重要事項

如果您將最後一部 Exchange 伺服器用於收件者管理 (以外的任何用途,例如 SMTP 轉送) ,則請勿將它關機。

  1. 開啟最後一部 Exchange 伺服器。

  2. 混合式部署中執行如何和何時解除委任內部部署 Exchange 伺服器中案例 2 的步驟 1 到 8,以清除混合式設定。

  3. 在 Exchange 管理命令介面中執行下列命令,以移除同盟信任:

    Remove-FederationTrust "Microsoft Federation Gateway"
    
  4. 拿掉同盟憑證:若要尋找憑證指紋,請執行:

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

    若要移除憑證指紋,請執行:

    Remove-ExchangeCertificate -Thumbprint $fedThumbprint
    
  5. 拿掉為 OAuth 建立的服務主體認證。 若要這樣做,您必須判斷哪個 KeyId 符合 OAuth 憑證的密鑰值。 若要尋找符合的 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 | Where-Object {$_.Value -eq $credValue}).KeyId
      

      這會提供索引鍵的 KeyId,其值符合上述$credValue。

    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。 在 PowerShell Exchange Online 中使用下列任何 Cmdlet 來尋找 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。

    3. 執行下列命令來移除應用程式:

      Remove-HybridApplication -appId 123e4567-e89b-12d3-a456-426614174000 -Credential (Get-Credential)
      

      注意事項

      AppId 是 123e4567-e89b-12d3-a456-426614174000 僅適用於此範例;您的值不同。

    4. 使用以下步驟卸載混合式代理程式: 卸載混合式代理程式

  7. 如果您尚未這麼做,請將 MX 和自動探索 DNS 記錄指向 Exchange Online。 此步驟對於確保郵件流程不會受到影響很重要。 如需詳細資訊,請參閱 Office 365 的外部功能變數名稱系統記錄

  8. 關閉最後一部 Exchange 伺服器。

Active Directory 清除

如果您打算永遠不要再次執行內部部署 Exchange Server,建議您移除不必要的 Exchange 物件來清除 Active Directory。

警告

此步驟無法復原。 只有在您不想再次執行 Exchange Server 時,才繼續進行。

執行隨附於管理工具的 CleanupActiveDirectoryEMT 腳本,即可完成 AD 清除。 腳本會移除系統信箱、不必要的 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,可能會失敗並出現下列錯誤:

將管理工具升級至較新累積更新的螢幕快照。

Active Directory 必須先使用 'Setup /PrepareAD' 備妥,Exchange Server 管理工具才能更新至較新的 CU。

若要將管理工具更新為較新的 CU,請執行下列步驟:

  1. 使用下列命令來執行 PrepareAD:

    .\Setup.EXE /PrepareAD /IAcceptExchangeServerLicenseTerms_DiagnosticDataON

  2. 使用下列命令升級僅限管理工具角色:

    .\Setup.EXE /m:Upgrade /IAcceptExchangeServerLicenseTerms_DiagnosticDataON

  3. 如果您先前已根據使用管理工具管理 Exchange 混合式環境中的收件者,在環境中執行.\CleanupActiveDirectoryEMT.ps1過,請再次 (執行腳本,CleanupActiveDirectoryEMT.ps1因為 /PrepareAD 會重新建立移除) 的某些物件。.\CleanupActiveDirectoryEMT.ps1

    警告

    請確定您 CleanupActiveDirectoryEMT.ps1 只在已遵循 使用管理工具管理 Exchange 混合式環境中收件者的 環境中執行腳本,且腳本已在 (之前執行,而且沒有執行中的 Exchange Server) 。 此動作無法復原。

將管理工具升級至較新的安全性更新 (SU)

下載安全性更新套件並加以執行,以將管理工具角色更新為較新的 SU。