Commands › Exchange Online

Test-OutlookConnectivity

Exchange Online ExchangeOnlineManagement Test-*

Test end-to-end Microsoft Outlook client connectivity in the Microsoft Exchange organization. This includes testing for both Outlook Anywhere (RPC over HTTP) and MAPI over HTTP connections.

Quick start script

# Test-OutlookConnectivity — quick start (serv365.ai)
# 1. Connect (app-only shown; interactive: omit the certificate parameters)
Connect-ExchangeOnline -CertificateThumbprint $thumb -AppId $appId -Organization $org

# 2. Run and inspect
Test-OutlookConnectivity -ProbeIdentity <String> -GetDefaultsFromAutodiscover <Boolean> -Protocol <Protocol> | Format-List

# 3. Export for evidence / drift tracking
Test-OutlookConnectivity | Export-Clixml .\OutlookConnectivity-$(Get-Date -Format yyyyMMdd).xml

Syntax — 5 parameter sets

Probe

Test-OutlookConnectivity [-ProbeIdentity] <String>
 [-Credential <PSCredential>]
 [-Hostname <String>]
 [-MailboxId <MailboxIdParameter>]
 [-RunFromServerId <ServerIdParameter>]
 [-TimeOutSeconds <String>]
 [<CommonParameters>]

Protocol

Test-OutlookConnectivity [[-Identity] <MailboxIdParameter>] -Protocol <Protocol>
 [-Archive <Boolean>]
 [-Confirm]
 [-MailboxCredential <PSCredential>]
 [-MonitoringContext]
 [-TotalTimeoutInMinutes <Int32>]
 [-TrustAnySslCert]
 [-WhatIf]
 [<CommonParameters>]

RpcProxyServer

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>]

RpcTestType

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>]

1 more parameter sets — see the parameter table below.

Parameters (23)

ParameterTypeRequiredWhat it controls
-Identity MailboxIdParameter The Identity parameter specifies a target user mailbox. You can use any value that uniquely identifies the mailbox. For example:
-ProbeIdentity String yes The ProbeIdentity parameter specifies the probe to use. Valid values are:
-GetDefaultsFromAutodiscover Boolean yes The GetDefaultsFromAutodiscover parameter specifies whether to get default values for all of the other parameters for the command from the Autodiscover service settings. If you run the command specifying values for...
-Protocol Protocol yes The Protocol parameter specifies whether to test for Outlook Anywhere connectivity or directly test for RPC or TCP/IP connectivity. The value is either HTTP or TCP.
-RpcTestType RpcTestType yes The RpcTestType parameter specifies which type of RPC endpoint the command should test. Valid values are:
-WSTestType VirtualDirectoryUriScope yes The WSTestType parameter specifies type of servers that you want to include in your Outlook connectivity test. You can use the following values:
-Archive Boolean The Archive parameter specifies whether tests should be performed to connect to the user's on-premises archive mailbox. Valid values are:
-Confirm SwitchParameter The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on whether the cmdlet requires confirmation before proceeding.
-Credential PSCredential The Credential parameter specifies the credential used by the probe. The system's test credentials are used by default
-Hostname String TheHostname parameter specifies the protocol endpoint target of the probe. You can use a specific Mailbox server or route through Distributed Name Service server.
-MailboxCredential PSCredential The MailboxCredential parameter specifies certain credentials to allow logon access to a user's mailbox. Use the parameter along with the Identity parameter to access a user's mailbox when you don't have access permissions.
-MailboxId MailboxIdParameter The MailboxID parameter specifies the target mailbox.
-MonitoringContext SwitchParameter The MonitoringContext switch includes the associated monitoring events and performance counters in the results. You don't need to specify a value with this switch.
-RpcAuthenticationType RpcAuthenticationType The RpcAuthenticationType parameter specifies the authentication setting to test for the RPC layer. Using this parameter is helpful if a different authentication type is set at the RPC proxy virtual directory. You...
-RpcClientAccessServer ClientAccessServerIdParameter The RpcClientAccessServer parameter specifies the target server with the Client Access server role installed that you want to test. This can be a server fully qualified domain name (FQDN) or a GUID.
-RpcProxyAuthenticationType RPCProxyAuthenticationType The RpcProxyAuthenticationType parameter specifies the authentication setting for the RPC Proxy endpoint. The value can be specified as Basic, NTLM, or Negotiate. There is no default value unless used with the...
-RpcProxyServer ServerIdParameter The RpcProxyServer parameter specifies whether to set the target RpcProxy server for testing. This parameter can be used when the RpcProxy server is different from the Client Access server.
-RpcProxyTestType RpcProxyTestType The RpcProxyTestType parameter specifies which HTTP endpoint the command should connect to. Valid values are:
-RunFromServerId ServerIdParameter The RunFromServerID parameter specifies the server on which the probe should be run.
-TimeOutSeconds String The TimeOutSeconds parameter specifies the timeout period in seconds before the probe is ended. A valid value is an integer. The default value is 30 seconds.
-TotalTimeoutInMinutes Int32 The TotalTimeoutInMinutes parameter specifies the time limit, in minutes, for the command to wait for test results before ending the request. The default value is two minutes.
-TrustAnySslCert SwitchParameter The TrustAnySSLCertificate switch allows Exchange to accept certificates from untrusted certification authorities (CAs). You don't need to specify a value with this switch.
-WhatIf SwitchParameter The WhatIf switch shows what the command does without making any changes. You don't need to specify a value with this switch.

Reference facts derived from Microsoft documentation, © Microsoft, licensed CC BY 4.0; restructured with original guidance by serv365.ai.