從內部部署傳送到 Exchange Online 的電子郵件,在執行 HCW 後似乎是外部的電子郵件

原始 KB 編號:   4052493

徵狀

請試想下列案例:

  • 針對包含 Edge Server 的 Exchange Server 2016 或 Exchange Server 2013 環境執行混合式設定向導。
  • 使用者將電子郵件從 Exchange 內部部署傳送到另一個使用者的 Exchange Online 帳戶。 這兩個使用者都在您的組織中。

在此案例中,您會注意到接收端的下列問題:

  • 郵件顯示為外部郵件。
  • 寄件者不會解析為全域通訊清單中的收件者 (GAL) 。

發生問題時的其他徵兆:

  • 傳送郵件到 Office 365 的傳送連接器上有 輸出至 office 365 TLSCertificateName 屬性。 當問題發生時,屬性值不會複製到 Edge server。

  • 當您 start-edgesynchronization 從信箱伺服器執行命令時,輸出會顯示 [未完成] 的設定類型。 Configuration以下是範例摘錄:

    RunspaceId: RunspaceId
    Result: Incomplete
    Type: Configuration
    Name: userwap
    
  • 在位於資料夾中的 EdgeSync 記錄檔中會記錄下列錯誤 <ExchangeInstallation>\TransportRoles\Logs\EdgeSync

    [日期/時間]。082Z、c76158dc155c4e2eab69305612c58890、689、EdgeServerName .com、50636、SyncEngine、Low、request 中的值無效。 [ExDirectoryException];內部例外狀況:要求中的值無效。 [DirectoryOperationException],"無法同步專案 CN = 呼出至 Office 365,CN = Connections,CN = Exchange 路由群組 (DWBGZMFD01QNBJR) ,CN = 路由群組,CN = Exchange 系統管理群組 (FYDIBOHF23SPDLT) ,CN=Administrative 群組,CN = ExchangeOrgName,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=com",,,

    若要啟用 EdgeSync 記錄,請執行下列命令:

    Get-EdgeSyncServiceConfig | Set-EdgeSyncServiceConfig -LogLevel high -LogEnabled $true
    

原因

發生此問題的原因如下:

  • 針對 Edge server 上的 ADAM,將儲存于 ADAM 架構中的 nm-exch-um-2nd-Smtp-TLS 憑證 屬性上限設定為256。

  • 下列來自協力廠商憑證的字串長度超過256個字元:

    <I>簽發者 <S>主體名稱

    若要判斷字串的長度,請執行下列命令:

    ("<I>$((Get-SendConnector 'outbound to office 365').tlscertificatename.certificateissuer)<S>$((Get-SendConnector 'outbound to office 365').tlscertificatename.certificatesubject)").length
    

若要解決此問題,請使用下列其中一種方法。

解決方法1:在 Edge server 上增加 cap 為1024

  1. 使用 [ 以系統管理員身分執行 ] 選項,開啟 [Windows PowerShell] 視窗。

  2. 執行下列命令,以安裝遠端伺服器管理工具組:

    Add-WindowsFeature RSAT-ADDS
    
  3. 執行下列命令,以匯入 Active Directory 模組:

    Import-Module ActiveDirectory
    
  4. 執行下列命令,以確認屬性 TLSCertificateName 的 cap 值:

    Get-ADObject -Filter {name -eq "ms-Exch-Smtp-TLS-Certificate"} -SearchBase ((get-ADRootDSE -Server localhost:50389).schemaNamingContext) -Server localhost:50389 -Properties * | Select-Object rangeupper
    
  5. 執行下列命令,以設定 1024 cap:

    Get-ADObject -Filter {name -eq "ms-Exch-Smtp-TLS-Certificate"} -SearchBase ((get-ADRootDSE -Server localhost:50389).schemaNamingContext) -Server localhost:50389 -Properties * | Set-ADObject -Replace @{rangeupper=1024}
    
  6. 在 HUB Transport server 或信箱伺服器上,執行下列命令來同步處理 Edge server 的變更:

    start-EdgeSynchronization
    

解決方法2:設定傳送連接器使用 FQDN

設定傳送連接器,不要使用 TLSCertificateName 屬性來指定要在 TLS 協商期間使用的憑證。 相反地,您可以使用 FQDN,根據 選取的輸出匿名 TLS 憑證中所述的憑證選擇程式,來選取適當的協力廠商憑證。

若要設定傳送連接器使用 FQDN,請遵循下列步驟:

  1. 請確定將設定為 FQDN 的功能變數名稱設定為協力廠商憑證的主體名稱或主體替代名稱。

  2. 執行下列命令,將傳送連接器設定為使用 FQDN。 這個命令也會清除 TLSCertificateName 屬性。

    Set-SendConnector "outbound to office 365" -Fqdn "Domain Note in step 1 of option 2" -TlsCertificateName:$null
    
  3. 在 HUB Transport server 或信箱伺服器上,執行下列命令來同步處理 Edge server 的變更:

    start-EdgeSynchronization
    

解決方式3:使用不會導致 cap 超過的憑證

使用不會導致超過 cap 的憑證。 如果要執行這項操作,請依照下列步驟執行:

  1. 從憑證中建立下列字串的憑證少於256個字元:

    <I>簽發者 <S>SubjectName

  2. 匯入憑證。

  3. 將憑證與各服務相關聯。

  4. 再次執行混合式設定向導,以使用新的憑證。