Test-OutlookConnectivity

內部部署 Exchange 才有提供此 Cmdlet。

使用 Test-OutlookConnectivity Cmdlet 來測試 Microsoft Exchange 組織中的端對端Microsoft Outlook 用戶端連線能力。 這包括測試 Outlook Anywhere (RPC over HTTP) 和 MAPI over HTTP 連線。

如需下方<語法>一節中參數集的詳細資訊,請參閱 Exchange Cmdlet 語法

Syntax

Test-OutlookConnectivity
    [-ProbeIdentity] <String>
    [-Credential <PSCredential>]
    [-Hostname <String>]
    [-MailboxId <MailboxIdParameter>]
    [-RunFromServerId <ServerIdParameter>]
    [-TimeOutSeconds <String>]
    [<CommonParameters>]
Test-OutlookConnectivity
    [[-Identity] <MailboxIdParameter>]
    -Protocol <Protocol>
    [-Archive <Boolean>]
    [-Confirm]
    [-MailboxCredential <PSCredential>]
    [-MonitoringContext]
    [-TotalTimeoutInMinutes <Int32>]
    [-TrustAnySslCert]
    [-WhatIf]
    [<CommonParameters>]
Test-OutlookConnectivity
    [[-Identity] <MailboxIdParameter>]
    -GetDefaultsFromAutodiscover <Boolean>
    [-Archive <Boolean>]
    [-Confirm]
    [-MailboxCredential <PSCredential>]
    [-MonitoringContext]
    [-RpcAuthenticationType <RpcAuthenticationType>]
    [-RpcClientAccessServer <ClientAccessServerIdParameter>]
    [-RpcProxyAuthenticationType <RPCProxyAuthenticationType>]
    [-RpcProxyServer <ServerIdParameter>]
    [-TotalTimeoutInMinutes <Int32>]
    [-TrustAnySslCert]
    [-WhatIf]
    [<CommonParameters>]
Test-OutlookConnectivity
    [[-Identity] <MailboxIdParameter>]
    -RpcTestType <RpcTestType>
    [-Archive <Boolean>]
    [-Confirm]
    [-MailboxCredential <PSCredential>]
    [-MonitoringContext]
    [-RpcAuthenticationType <RpcAuthenticationType>]
    [-RpcClientAccessServer <ClientAccessServerIdParameter>]
    [-RpcProxyAuthenticationType <RPCProxyAuthenticationType>]
    [-RpcProxyTestType <RpcProxyTestType>]
    [-TotalTimeoutInMinutes <Int32>]
    [-TrustAnySslCert]
    [-WhatIf]
    [<CommonParameters>]
Test-OutlookConnectivity
    [[-Identity] <MailboxIdParameter>]
    -WSTestType <VirtualDirectoryUriScope>
    [-Archive <Boolean>]
    [-Confirm]
    [-MailboxCredential <PSCredential>]
    [-MonitoringContext]
    [-TotalTimeoutInMinutes <Int32>]
    [-TrustAnySslCert]
    [-WhatIf]
    [<CommonParameters>]

Description

執行 Test-OutlookConnectivity Cmdlet 會驗證所提供參數所定義的 Outlook 連線。 命令能夠驗證單一信箱。

Test-OutlookConnectivity Cmdlet 會執行與監視探查相同的程式。 Microsoft Exchange Health Manager (MSExchangeHM) 服務必須正在執行,並且已在要測試的電腦上建立 Outlook 探查。 您必須選取其中一個 Outlook 探查身分識別來執行測試。 使用 Get-MonitoringItemIdentity Cmdlet 來查看哪些探查作用中。

此範例會列出在信箱伺服器的後端服務中執行的探查: Get-MonitoringItemIdentity -Server MailboxServer1 -Identity outlook.protocol | ?{$_.Name -like '*probe'}

此範例會列出信箱伺服器上用戶端存取服務中執行的探查: Get-MonitoringItemIdentity -Server MailboxServer1 -Identity outlook | ?{$_.Name -like '*probe'}

如需探查和監視架構的詳細資訊,請參閱 Managed 可用性Managed 可用性和伺服器健全狀況,以及 自訂 Managed 可用性

根據預設,Cmdlet 會使用附加至指定探查的測試監視帳戶。 您也可以透過 MailboxId 參數輸入一個不同的信箱。 選項和結果如下。

  • 未指定 MailboxId 和 Credential:使用系統的測試認證對測試信箱進行一般連線測試。
  • 指定 MailboxId,認證不是:使用系統的測試認證連線到特定信箱的連線能力測試。
  • 已同時指定 MailboxId 與 Credential:您可以取得特定信箱的連線測試,也可以得到一個對信箱有效且認證過的測試。

您必須已獲指派權限,才能執行此指令程式。 雖然本主題已列出這個指令程式的所有參數,不過,如果某些參數並未包含在指派給您的權限中,您可能就無法存取這些參數。 若要尋找在組織中執行任何 Cmdlet 或參數所需的權限,請參閱 Find the permissions required to run any Exchange cmdlet

範例

範例 1

Test-OutlookConnectivity -ProbeIdentity OutlookMapiHttp.Protocol\OutlookMapiHttpSelfTestProbe

在 Exchange 2013 或更新版本中,此範例會在您目前連線的信箱伺服器上,透過 HTTP OutlookRpcSelfTestProbe 執行 MAPI。

範例 2

Test-OutlookConnectivity "Outlook.Protocol\OutlookRpcDeepTestProbe\Mailbox Database 1234512345" -RunFromServerId PrimaryMailbox -MailboxId johnd@contoso.com

在 Exchange 2013 或更新版本中,此範例會從 「PrimaryMailbox」 伺服器針對掛接在 「Mailbox Database 1234512345」 的信箱 「 johnd@contoso.com 」 執行 OutlookRpcDeepTestProbe。 由於沒有指定 Credential 參數,此項探查將使用預設的測試認證。

範例 3

Test-OutlookConnectivity -Protocol HTTP -GetDefaultsFromAutoDiscover $true

在 Exchange 2010 中,此範例會測試 Outlook Anywhere 最常見的端對端 Outlook 連線案例。 這包括測試透過自動探索服務的連線能力、建立使用者設定檔,以及登入使用者信箱。 所有必要的值都會從自動探索服務擷取。 由於未指定 Identity 參數,因此命令會使用您使用New-TestCasConnectivityUser.ps1腳本建立的暫時測試使用者。 您可以執行此範例命令,藉由將 Protocol 參數設定為 RPC 來測試 TCP/IP 連線能力。

範例 4

Test-OutlookConnectivity -RpcProxyTestType:Internal -RpcTestType:Server

在 Exchange 2010 中,此範例會使用本機伺服器作為 RpcProxy 端點以及 RPC 端點來測試 Outlook Anywhere 連線能力。 由於未指定 Identity 參數,因此命令會使用您使用New-TestCasConnectivityUser.ps1腳本建立的暫時測試使用者。 將 RpcProxyTestType 參數設定為 External,修改此範例以使用公用外部 URL。 此外,範例命令可以將 RpcTestType 參數設定為 Array,以使用 Client Access 伺服器陣列作為 RPC 端點。 若只要驗證 TCP/IP 連線能力,請省略 RpcProxyTestType 參數。

範例 5

Test-OutlookConnectivity -RpcProxyServer RpcProxySrv01 -RpcProxyAuthenticationType Basic -RpcClientAccessServer CAS01 -RpcAuthenticationType NTLM

在 Exchange 2010 中,此範例會透過一部伺服器上的 RpcProxy,驗證 Outlook 連線到執行 Client Access 伺服器角色的不同伺服器,以及外部驗證層的基本功能,以及內部驗證層的 NTLM。 使用這些參數應該可讓您驗證大部分類型的 Outlook 連線設定。 如果您只需要覆寫一或兩個參數,此命令也可以與設定為 $true 的 GetDefaultsFromAutoDiscover 參數搭配使用。 下列命令類似于使用 RPC Ping 公用程式執行連線測試,但提供更強的驗證。

參數

-Archive

此參數僅適用于 2010 Exchange Server。

Archive 參數會指定是否應該執行測試以連線到使用者的內部部署封存信箱。 有效值為:

$true:連線到使用者的內部部署封存信箱。

$false:不要連線到使用者的內部部署信箱。 這是預設值。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-Confirm

此參數僅適用于 2010 Exchange Server。

Confirm 參數會指定要顯示或隱藏確認提示。 這個參數對 Cmdlet 的影響取決於 Cmdlet 是否需要確認才能繼續作業。

  • 例如,具破壞性的 Cmdlet (例如 Remove-* Cmdlet) 內建暫停,可強制您在繼續之前確認命令。 對於這些 Cmdlet,您可以使用以下確切語法來略過確認提示:-Confirm:$false
  • 其他大部分的 Cmdlet (例如,New-* 和 Set-* Cmdlet) 沒有內建暫停。 在使用這些 Cmdlet 時,指定不含任何值的 Confirm 參數會引入強迫您認可命令後才繼續作業的暫停。
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-Credential

Credential 參數會指定探查所使用的憑證。 預設會使用系統的測試認證

此參數的值需要使用 Get-Credential Cmdlet。 若要暫停此命令並收到輸入認證的提示,請使用值 (Get-Credential)。 或者,在您執行此命令之前,將認證儲存在變數中 (例如,$cred = Get-Credential),然後將變數名稱 ($cred) 用於此參數。 如需詳細資訊,請參閱 Get-Credential

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-GetDefaultsFromAutodiscover

此參數僅適用于 2010 Exchange Server。

GetDefaultsFromAutodiscover 參數會指定是否要從自動探索服務設定取得命令所有其他參數的預設值。 如果您執行命令來指定其他參數的值,這些值會覆寫來自自動探索服務的預設值。 此參數的預設值是 $true。

Type:Boolean
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-Hostname

Hostname 參數會指定探查的通訊協定端點目標。 您可以使用特定的信箱伺服器,或透過分散式名稱服務伺服器來路由傳送。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Identity

此參數僅適用于 2010 Exchange Server。

Identity 參數會指定目標使用者信箱。 您可以使用可唯一識別信箱的任何值。 例如:

  • 名稱
  • 別名
  • 辨別名稱 (DN)
  • 辨別名稱 (DN)
  • Domain\Username
  • 電子郵件地址
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • 使用者識別碼或使用者主要名稱 (UPN)

如果您未使用此參數,此命令會在您先前使用 New-TestCasConnectivityUser.ps1 腳本建立的 Active Directory 中尋找測試使用者。

Type:MailboxIdParameter
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010

-MailboxCredential

此參數僅適用于 2010 Exchange Server。

MailboxCredential 參數會指定特定認證,以允許使用者信箱的登入存取。 當您沒有存取權限時,請使用 參數以及 Identity 參數來存取使用者的信箱。

此參數的值需要使用 Get-Credential Cmdlet。 若要暫停此命令並收到輸入認證的提示,請使用值 (Get-Credential)。 或者,在您執行此命令之前,將認證儲存在變數中 (例如,$cred = Get-Credential),然後將變數名稱 ($cred) 用於此參數。 如需詳細資訊,請參閱 Get-Credential

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010

-MailboxId

MailboxID 參數會指定目標信箱。

在 Exchange 2013 或更新版本中,Identity 參數會指定目標使用者信箱。 您可以使用可唯一識別信箱的任何值。 例如:

  • 名稱
  • 別名
  • 辨別名稱 (DN)
  • 辨別名稱 (DN)
  • Domain\Username
  • 電子郵件地址
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • 使用者識別碼或使用者主要名稱 (UPN)

如果您未使用此參數,命令會使用測試帳戶。

Type:MailboxIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-MonitoringContext

此參數僅適用于 2010 Exchange Server。

MonitoringContext 參數在結果中會納入相關的監視事件與效能計數器。 您不需要使用此參數指定值。

一般而言,當輸出傳遞至 Microsoft System Center Operations Manager (SCOM) 時,您會在結果中包含監視事件和效能計數器。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-ProbeIdentity

ProbeIdentity 參數會指定使用此探查。 有效值為:

Outlook Anywhere (RPC over HTTP) 探查:

  • Outlook.Protocol\OutlookRpcSelfTestProbe:驗證 RPC/HTTP 端點能夠接收信箱伺服器上的流量。 它不會嘗試登入信箱。 這是連線能力的高階檢查。
  • Outlook.Protocol\OutlookRpcDeepTestProbe:驗證 RPC/HTTP 端點正在信箱伺服器上運作。 它會嘗試連線並登入信箱。 由於未指定任何資料庫,因此它會嘗試連線到 Get-MailboxDatabase Cmdlet 所傳回的第一個資料庫。
  • Outlook.Protocol\OutlookRpcDeepTestProbe\<Case-sensitive Mailbox Database Name>:驗證 RPC/HTTP 端點正在信箱伺服器上運作。 它會嘗試連線並登入指定信箱資料庫中的信箱。 如果信箱資料庫名稱包含空格,請以引號括住整個值 (例如, "Outlook.Protocol\OutlookRpcDeepTestProbe\Mailbox Database 0352791530") 。

透過 HTTP 探查的 MAPI:

  • OutlookMapiHttp.Protocol\OutlookMapiHttpSelfTestProbe:驗證 MAPI/HTTP 端點能夠接收信箱伺服器上的流量。 它不會嘗試登入信箱。 這是連線能力的高階檢查。
  • OutlookMapiHttp.Protocol\OutlookMapiHttpDeepTestProbe:驗證 MAPI/HTTP 端點正在信箱伺服器上運作。 它會嘗試連線並登入信箱。 由於未指定任何資料庫,因此它會嘗試連線到 Get-MailboxDatabase Cmdlet 所傳回的第一個資料庫。
  • OutlookMapiHttp.Protocol\OutlookRpcDeepTestProbe\<Case-sensitive Mailbox Database Name>:驗證 MAPI/HTTP 端點正在信箱伺服器上運作。 它會嘗試連線並登入指定資料庫中的信箱。 如果信箱資料庫名稱包含空格,請以引號括住整個值 (例如, "Outlook.Protocol\OutlookRpcDeepTestProbe\Mailbox Database 0352791530") 。
Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Protocol

此參數僅適用于 2010 Exchange Server。

Protocol 參數會指定要測試 Outlook Anywhere 連線能力,或直接測試 RPC 或 TCP/IP 連線能力。 值為 HTTP 或 TCP。

Type:Protocol
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-RpcAuthenticationType

此參數僅適用于 2010 Exchange Server。

RpcAuthenticationType 參數會指定要測試 RPC 層的驗證設定。 如果在 RPC Proxy 虛擬目錄設定不同的驗證類型,則使用此參數會很有説明。 您可以使用下列值:

  • NTLM
  • Kerberos
  • 洽談

預設值為 Negotiate。

Type:RpcAuthenticationType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-RpcClientAccessServer

此參數僅適用于 2010 Exchange Server。

RpcClientAccessServer 參數會指定已安裝您要測試之 Client Access 伺服器角色的目標伺服器。 這可以是 FQDN) 或 GUID (伺服器完整功能變數名稱。

Type:ClientAccessServerIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010

-RpcProxyAuthenticationType

此參數僅適用于 2010 Exchange Server。

RpcProxyAuthenticationType 參數會指定 RPC Proxy 端點的驗證設定。 此值可以指定為 Basic、NTLM 或 Negotiate。 除非搭配 GetDefaultsFromAutodiscover 參數使用,否則沒有預設值。

Type:RPCProxyAuthenticationType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-RpcProxyServer

此參數僅適用于 2010 Exchange Server。

RpcProxyServer 參數會指定是否要設定目標 RpcProxy 伺服器以進行測試。 當 RpcProxy 伺服器與用戶端存取伺服器不同時,可以使用此參數。

Type:ServerIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010

-RpcProxyTestType

此參數僅適用于 2010 Exchange Server。

RpcProxyTestType 參數會指定命令應該連線到哪個 HTTP 端點。 有效值為:

  • 內部:是指本機電腦名稱稱 (https://<localcomputername> ,例如, https://CAS01) 。
  • 外部:是指公用命名空間 (/rpc 虛擬目錄上的外部 HTTP URL, https://mail.contoso.com 例如,) 。
Type:RpcProxyTestType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-RpcTestType

此參數僅適用于 2010 Exchange Server。

RpcTestType 參數會指定命令應該測試的 RPC 端點類型。 有效值為:

  • 伺服器:命令會使用本機伺服器作為 RPC 端點。
  • Array:此命令會在本機 Active Directory 網站中尋找 ClientAccessArray 物件。
Type:RpcTestType
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-RunFromServerId

RunFromServerID 參數會指定應執行探查的伺服器。

Type:ServerIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-TimeOutSeconds

TimeOutSeconds 參數會指定停止探查前的逾時秒數。 預設值為 30 秒。 可以選擇是否要搭配引號輸入數字。 10 或 「10」 將可運作。 所有錯誤的輸入都會預設回 30 秒。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-TotalTimeoutInMinutes

此參數僅適用于 2010 Exchange Server。

TotalTimeoutInMinutes 參數會指定命令在結束要求之前等候測試結果的時間限制,以分鐘為單位。 預設值為兩分鐘。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-TrustAnySslCert

此參數僅適用于 2010 Exchange Server。

TrustAnySSLCertificate 參數可讓 Exchange 接受來自不受信任憑證授權單位單位的憑證, (CA) 。 您不需要使用此參數指定值。

TrustAnySSLCertificate 參數會指定是否要忽略安全通訊端層 (SSL) 憑證驗證失敗。 您不需要指定此參數的值。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-WhatIf

此參數僅適用于 2010 Exchange Server。

WhatIf 參數會模擬命令的動作。 使用此參數時,您不需要實際套用變更即可檢視可能會發生的變更。 您不需要使用此參數指定值。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

-WSTestType

此參數僅適用于 2010 Exchange Server。

WSTestType 參數會指定您想要包含在 Outlook 連線能力測試中的伺服器類型。 您可以使用下列值:

  • 未知 (這是預設值。)
  • 內部
  • 外部
Type:VirtualDirectoryUriScope
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010

輸入

Input types

若要查看此指令程式可接受的輸入類型,請參閱指令程式輸入和輸出類型。 如果指令程式的 [輸入類型] 欄位是空的,表示指令程式不接受輸入資料。

輸出

Output types

若要查看此指令程式可接受的傳回類型 (也就是所謂的輸出類型),請參閱指令程式輸入和輸出類型。 如果 [輸出類型] 欄位是空的,表示指令程式不會傳回資料。