共用方式為


使用管理工具管理 Exchange 混合式環境中的收件者

如果您只為了在 Exchange 混合式環境中管理收件者而維護內部部署 Exchange 伺服器,即使在您將所有收件者移至Exchange Online之後,您也可以關閉最後一部 Exchange 伺服器,並使用Windows PowerShell管理收件者。

之前,即使您將所有信箱移至Exchange Online,您仍然需要內部部署 Exchange 伺服器來管理這些雲端收件者屬性。 您已在內部部署的 Active Directory的 Exchange 伺服器上編輯收件者,並使用目錄同步處理將其屬性複製到Microsoft Entra識別碼。 您仍然可以使用此方法來管理收件者,即使收件者全都在雲端中也一般。 關閉 Exchange 伺服器是完全選擇性的。

注意事項

您無法直接在Microsoft Entra識別碼或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識別碼或Exchange Online中修改內部部署收件者。

確認管理工具可以在不使用Exchange Server的情況下執行

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

準備 Exchange 環境

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

    Set-AdServerSettings -ViewEntireForest $true
    Get-Mailbox
    

    注意事項

    根據預設,雲端同步處理或 Microsoft Entra Connect 不會將內建系統管理員信箱同步至雲端。 繼續之前,您應該使用 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 嵌入式管理單元存取 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 Snapin 存取 的 Cmdlet 與 RecipientManagement 使用 New-PSSession 執行 時相比,輸出資料類型會有差異。 這是預期的,而且任何依賴 Cmdlet 資料類型的腳本都應該據以修改。

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

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

永久關閉最後一個Exchange Server

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

重要事項

如果您將最後一部 Exchange 伺服器用於收件者管理 (以外的任何用途,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 建立的服務主體認證。 若要這樣做,您必須判斷哪個 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 | ?{$_.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://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 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。