Export (0) Print
Expand All

Test-OutlookConnectivity

Applies to: Exchange Server 2010

Topic Last Modified: 2011-03-19

Use the Test-OutlookConnectivity cmdlet to test end-to-end Microsoft Outlook client connectivity in the Microsoft Exchange Server 2010 organization. This includes testing for Outlook Anywhere (RPC/HTTP) and TCP-based connections.


Test-OutlookConnectivity [-Identity <MailboxIdParameter>] -Protocol <HTTP | TCP> [-Confirm [<SwitchParameter>]] [-GetDefaultsFromAutodiscover <$true | $false>] [-MailboxCredential <PSCredential>] [-MonitoringContext <$true | $false>] [-TotalTimeoutInMinutes <Int32>] [-TrustAnySslCert <$true | $false>] [-WhatIf [<SwitchParameter>]]


Test-OutlookConnectivity [-Identity <MailboxIdParameter>] -RpcProxyServer <ServerIdParameter> [-ClientAccessServer <ClientAccessServerIdParameter>] [-Confirm [<SwitchParameter>]] [-GetDefaultsFromAutodiscover <$true | $false>] [-MailboxCredential <PSCredential>] [-MonitoringContext <$true | $false>] [-RpcAuthenticationType <Negotiate | NTLM | Kerberos>] [-RpcProxyAuthenticationType <Basic | NTLM | NegotiateEx>] [-TotalTimeoutInMinutes <Int32>] [-TrustAnySslCert <$true | $false>] [-WhatIf [<SwitchParameter>]]


Test-OutlookConnectivity [-Identity <MailboxIdParameter>] -RpcTestType <Array | Server> [-ClientAccessServer <ClientAccessServerIdParameter>] [-Confirm [<SwitchParameter>]] [-MailboxCredential <PSCredential>] [-MonitoringContext <$true | $false>] [-RpcAuthenticationType <Negotiate | NTLM | Kerberos>] [-RpcProxyAuthenticationType <Basic | NTLM | NegotiateEx>] [-RpcProxyTestType <External | Internal>] [-TotalTimeoutInMinutes <Int32>] [-TrustAnySslCert <$true | $false>] [-WhatIf [<SwitchParameter>]]

Parameter Required Type Description

Protocol

Required

Microsoft.Exchange.Monitoring.Protocol

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 RPC.

RpcProxyServer

Required

Microsoft.Exchange.Configuration.Tasks.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.

RpcTestType

Required

Microsoft.Exchange.Monitoring.RpcTestType

The RpcTestType parameter specifies which type of RPC endpoint the command should test. Valid values are Server or Array. If Server is specified, the command uses the local server as the RPC endpoint. If Array is specified, the command looks for a ClientAccessArray object in the same Active Directory site where the command is being run.

ClientAccessServer

Optional

Microsoft.Exchange.Configuration.Tasks.ClientAccessServerIdParameter

The ClientAccessServer 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.

Confirm

Optional

System.Management.Automation.SwitchParameter

The Confirm switch causes the command to pause processing and requires you to acknowledge what the command will do before processing continues. You don't have to specify a value with the Confirm switch.

GetDefaultsFromAutodiscover

Optional

System.Boolean

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 other parameters, those values override the default values from the Autodiscover service. The default value for this parameter is $true.

Identity

Optional

Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter

The Identity parameter specifies a target user mailbox. This value can be the mailbox GUID or can be the domain name\user, for example, contoso.com\erin. If the parameter isn't specified, the command looks for a test user in Active Directory. You need to create the test user with the New-TestCasConnectivityUser.ps1 script.

MailboxCredential

Optional

System.Management.Automation.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.

MonitoringContext

Optional

System.Boolean

The MonitoringContext parameter specifies whether the command returns additional information that can be used with Microsoft System Center Operations Manager 2007. The default value is $false.

RpcAuthenticationType

Optional

Microsoft.Exchange.Monitoring.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 can use the following values:

  • NTLM
  • Kerberos
  • Negotiate

The default value is Negotiate.

RpcProxyAuthenticationType

Optional

Microsoft.Exchange.Monitoring.RpcProxyAuthenticationType

The RpcProxyAuthenticationType parameter specifies the authentication setting for the RPC Proxy endpoint. The value can be specified as Basic, NTLM, or NegotiateEx. There is no default value unless used with the GetDefaultsFromAutodiscover parameter.

RpcProxyTestType

Optional

Microsoft.Exchange.Monitoring.RpcProxyTestType

The RpcProxyTestType parameter specifies which HTTP endpoint the command should connect to. The value can be Internal or External. The Internal value refers to the local computer name (http://<localcomputername>, for example, http://CAS01). The External value refers to a public namespace (the external HTTP URL on the /rpc virtual directory, for example, http://mail.contoso.com).

TotalTimeoutInMinutes

Optional

System.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

Optional

System.Boolean

The TrustAnySslCert parameter can be set to $true to ignore any Secure Sockets Layer (SSL) certificate warnings. The default value is $false.

WhatIf

Optional

System.Management.Automation.SwitchParameter

The WhatIf switch instructs the command to simulate the actions that it would take on the object. By using the WhatIf switch, you can view what changes would occur without having to apply any of those changes. You don't have to specify a value with the WhatIf switch.

Running the Test-OutlookConnectivity cmdlet validates a user's Outlook connection. End-to-end verification includes testing for Autodiscover connectivity, creating a user profile, and logging on to the user's mailbox. This cmdlet can validate both types of client connections, TCP/IP and Outlook Anywhere. If the cmdlet fails, the output notes the step that failed.

You need to be assigned permissions before you can run this cmdlet. Although all parameters for this cmdlet are listed in this topic, you may not have access to some parameters if they're not included in the permissions assigned to you. To see what permissions you need, see the "Outlook Anywhere connectivity settings" entry in the Client Access Permissions topic.

Error Description

 

This example tests the most common end-to-end Outlook connectivity scenario for Outlook Anywhere. This includes testing for connectivity through the Autodiscover service, creating a user profile, and logging on to the user mailbox. All of the required values are retrieved from the Autodiscover service. Because the Identity parameter isn't specified, the command uses the temporary test user that you've created using the New-TestCasConnectivityUser.ps1 script. This example command can be run to test TCP/IP connectivity by setting the Protocol parameter to RPC.

Test-OutlookConnectivity -Protocol:Http -GetDefaultsFromAutoDiscover:$true

This example tests for Outlook Anywhere connectivity using the local server as the RpcProxy endpoint as well as the RPC endpoint. Because the Identity parameter isn't specified, the command uses the temporary test user that you've created using the New-TestCasConnectivityUser.ps1 script. Modify this example to use the public external URL by setting the RpcProxyTestType parameter to External. Additionally, the example command can use the Client Access server array as the RPC endpoint by setting the RpcTestType parameter to Array. To only validate TCP/IP connectivity, omit the RpcProxyTestType parameter.

Test-OutlookConnectivity -RpcProxyTestType:Internal -RpcTestType:Server

This example validates Outlook connectivity through RpcProxy on one server to a different server running the Client Access server role with Basic for the outer authentication layer and NTLM for the inner authentication layer. Using these parameters should allow you to validate most types of Outlook connectivity configurations. This command can also be used with the GetDefaultsFromAutoDiscover parameter set to $true if you only need to override one or two parameters. This command is similar to running Rpcping but provides stronger validation.

Test-OutlookConnectivity -RpcProxyServer:RpcProxySrv01 -RpcProxyAuthenticationType:Basic -ClientAccessServer:CAS01 -RpcAuthenticationType:NTLM
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft