在 Exchange Server 中設定 MAPI over HTTP

在 Exchange 2016 和 Exchange 2019 中,您可以在組織層級或個別信箱層級設定 MAPI over HTTP。 信箱層級設定的優先順序一律高於整個組織的設定。

下表說明依預設在組織層級啟用或停用 MAPI over HTTP 的案例:

案例 Exchange 2019 Exchange 2016
從 Exchange 2016 環境升級 預設會啟用 MAPI over HTTP 不適用
從包含任何 Exchange 2013 伺服器的環境升級 預設會停用 MAPI over HTTP 預設會停用 MAPI over HTTP
從 Exchange 2010 環境升級 不適用 預設會啟用 MAPI over HTTP

注意事項

在組織層級啟用 MAPI over HTTP 時,Get-OrganizationConfig Cmdlet 傳回的MapiHttpEnabled屬性值為 True

本主題描述如何針對包含 Exchange 2013 伺服器的 Exchange 組織,或針對先前已停用 MAPI over HTTP 的任何拓撲,設定並啟用 MAPI over HTTP。 您也可以使用本文中的程式,在組織層級停用 MAPI over HTTP。

本主題也說明如何啟用或停用個別信箱的 MAPI over HTTP。 在信箱層級,您可以允許或封鎖透過內部、外部或兩者的 HTTP 連線 MAPI。 在所有情況下,當 MAPI over HTTP 停用時,會使用 Outlook Anywhere 建立連線。

設定 MAPI over HTTP

完成下列步驟,為您的組織設定 MAPI over HTTP。 這些步驟假設您已在 Exchange Server 中設定MAPI over HTTP 中所述的必要條件。 設定 (步驟 1-3) 之後,請使用步驟 4 在組織層級、信箱層級或兩者啟用或停用特定許可權案例。

  1. 虛擬目錄組態:根據預設,Exchange 會透過 HTTP 建立 MAPI 的虛擬目錄。 您可以使用 Set-MapiVirtualDirectory Cmdlet 來設定虛擬目錄。 您必須設定內部 URL、外部 URL 或兩者。 如需詳細資訊,請參閱 Set-MapiVirtualDirectory

    例如,若要設定本機 Exchange 伺服器上的預設 MAPI 虛擬目錄,請將內部 URL 值設定為 https://contoso.com/mapi ,並將驗證方法設定為 Negotiate ,請執行下列命令:

    Set-MapiVirtualDirectory -Identity "Contoso\mapi (Default Web Site)" -InternalUrl https://Contoso.com/mapi -IISAuthenticationMethods Negotiate
    
  2. 憑證設定:Exchange 環境所使用的數位憑證必須包含 MAPI 虛擬目錄上定義的相同 InternalURLExternalURL 值。 如需 Exchange 憑證管理的詳細資訊,請參閱Exchange Server 中的數位憑證和加密。 請確定 Exchange 憑證在 Outlook 用戶端工作站上受到信任,而且沒有任何憑證錯誤,特別是當您存取 MAPI 虛擬目錄上設定的 URL 時。

  3. 補救伺服器規則:確認負載平衡器、反向 Proxy 和防火牆已設定為允許透過 HTTP 虛擬目錄存取 MAPI。

  4. 使用下列步驟在整個 Exchange 組織中啟用 MAPI over HTTP,或針對一或多個個別信箱啟用 MAPI over HTTP。

    注意事項

    在您執行下列命令之後,已啟用 MAPI over HTTP 的 Outlook 用戶端會看到一則訊息,可重新開機 Outlook 以透過 HTTP 使用 MAPI。

    在 Exchange 組織中啟用 MAPI over HTTP

    若要在組織層級啟用或停用透過 HTTP 的 MAPI,請使用 Set-OrganizationConfig Cmdlet 搭配 MapiHttpEnabled 參數。 有效值為:

    • $true:除非在特定信箱) 上停用 MAPI over HTTP,否則組織中所有信箱 (都允許透過 HTTP 連線的 MAPI。

    • $false:除非在特定信箱) 上啟用 MAPI over HTTP,否則組織 (中的所有信箱都不允許使用 MAPI over HTTP 連線。

    下列範例會為整個組織啟用 MAPI over HTTP 連線:

    Set-OrganizationConfig -MapiHttpEnabled $true
    

    針對個別信箱啟用 MAPI over HTTP

    若要在信箱層級啟用或停用透過 HTTP 的 MAPI,請使用 Set-CasMailbox Cmdlet 搭配 MapiHttpEnabled 參數。 有效值為:

    • $null:信箱遵循組織層級設定。 這是預設值。

    • $true:啟用信箱的 MAPI over HTTP。 如果在組織層級停用 MAPI over HTTP,則會針對信箱啟用它。

    • $false:停用信箱的 MAPI over HTTP。 如果在組織層級啟用 MAPI over HTTP,信箱就會停用它,因此信箱會使用 Outlook Anywhere 連線。

    下列範例會啟用單一信箱的 MAPI over HTTP 連線:

    Set-CasMailbox <user or mailbox ID> -MapiHttpEnabled $true
    

透過 HTTP 連線測試 MAPI

您可以使用 Test-OutlookConnectivity Cmdlet,透過 HTTP 連線測試端對端 MAPI。 若要使用 Test-OutlookConnectivity Cmdlet,必須啟動 Microsoft Exchange Health Manager (MSExchangeHM) 服務。

下列範例會測試來自名為 ContosoMail 之 Exchange 伺服器的 MAPI over HTTP 連線。

Test-OutlookConnectivity -RunFromServerId ContosoMail -ProbeIdentity OutlookMapiHttpSelfTestProbe

成功的測試會傳回類似下列範例的輸出:

MonitorIdentity                                          StartTime              EndTime                Result      Error     Exception
---------------                                          ---------              -------                ------      -----     ---------
OutlookMapiHttp.Protocol\OutlookMapiHttpSelfTestProbe    2/14/2018 7:15:00 AM   2/14/2018 7:15:10 AM   Succeeded

如需詳細資訊,請 參閱 Test-OutlookConnectivity

MAPI over HTTP 活動的記錄位於下列位置:

  • %ExchangeInstallPath%Logging\MAPI 通訊錄服務\

  • %ExchangeInstallPath%Logging\MAPI 用戶端存取\

  • %ExchangeInstallPath%Logging\HttpProxy\Mapi\

結合 MAPI over HTTP 組態和內部或外部連線

除了本主題稍早所述的組織和信箱設定之外,您還可以在Set-CasMailbox Cmdlet 上使用MapiBlockOutlookExternalConnectivity參數來允許或拒絕外部 Outlook Anywhere 或 MAPI 透過 HTTP 連線至特定信箱。 有效值為:

  • True:只允許內部連線到信箱。

  • False:允許對信箱進行內部和外部連線。 這是預設值。

下表摘要說明組織層級和個別信箱上不同設定組合的結果。

Set-OrganizationConfig上的 MapiHttpEnabled 值 Set-CasMailbox上的 MapiHttpEnabled 值 Set-CasMailbox上的 MapiBlockOutlookExternalConnectivity 值 自動探索結果
$true $null $false MAPI over HTTP, internal and external
$true $null $true MAPI over HTTP,僅限內部
$true $true $false MAPI over HTTP, internal and external
$true $true $true MAPI over HTTP,僅限內部
$true $false $false Outlook Anywhere,內部和外部
$true $false $true Outlook Anywhere,僅限內部
$false $null $false Outlook Anywhere,內部和外部
$false $null $true Outlook Anywhere,僅限內部
$false $true $false MAPI over HTTP, internal and external
$false $true $true MAPI over HTTP,僅限內部
$false $false $false Outlook Anywhere,內部和外部
$false $false $true Outlook Anywhere,僅限內部

透過 HTTP 管理 MAPI

您可以使用下列 Cmdlet 來管理 MAPI over HTTP 的設定: