Applies to: Exchange Server 2010 SP3, Exchange Server 2010 SP2
Topic Last Modified: 2011-09-12
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.
Syntax
Test-OutlookConnectivity [-Identity
<MailboxIdParameter>] -Protocol <HTTP | TCP | WS>
[-Archive <$true | $false>] [-Confirm
[<SwitchParameter>]] [-MailboxCredential
<PSCredential>] [-MonitoringContext <SwitchParameter>]
[-TotalTimeoutInMinutes <Int32>] [-TrustAnySslCert
<SwitchParameter>] [-WhatIf [<SwitchParameter>]]
|
Test-OutlookConnectivity [-Identity
<MailboxIdParameter>] -RpcTestType <Array | Server>
[-Archive <$true | $false>] [-Confirm
[<SwitchParameter>]] [-MailboxCredential
<PSCredential>] [-MonitoringContext <SwitchParameter>]
[-RpcAuthenticationType <Negotiate | NTLM | Kerberos>]
[-RpcClientAccessServer <ClientAccessServerIdParameter>]
[-RpcProxyAuthenticationType <Basic | NTLM | Negotiate>]
[-RpcProxyTestType <External | Internal>]
[-TotalTimeoutInMinutes <Int32>] [-TrustAnySslCert
<SwitchParameter>] [-WhatIf [<SwitchParameter>]]
|
Test-OutlookConnectivity [-Identity
<MailboxIdParameter>] -GetDefaultsFromAutodiscover <$true
| $false> [-Archive <$true | $false>] [-Confirm
[<SwitchParameter>]] [-MailboxCredential
<PSCredential>] [-MonitoringContext <SwitchParameter>]
[-RpcAuthenticationType <Negotiate | NTLM | Kerberos>]
[-RpcClientAccessServer <ClientAccessServerIdParameter>]
[-RpcProxyAuthenticationType <Basic | NTLM | Negotiate>]
[-RpcProxyServer <ServerIdParameter>] [-TotalTimeoutInMinutes
<Int32>] [-TrustAnySslCert <SwitchParameter>] [-WhatIf
[<SwitchParameter>]]
|
Test-OutlookConnectivity [-Identity
<MailboxIdParameter>] -GetDefaultsFromAutodiscover <$true
| $false> -WSClientAccessServer
<ClientAccessServerIdParameter> [-Archive <$true |
$false>] [-Confirm [<SwitchParameter>]]
[-MailboxCredential <PSCredential>] [-MonitoringContext
<SwitchParameter>] [-TotalTimeoutInMinutes <Int32>]
[-TrustAnySslCert <SwitchParameter>] [-WhatIf
[<SwitchParameter>]]
|
Test-OutlookConnectivity [-Identity
<MailboxIdParameter>] -WSTestType <Unknown | Internal |
External> [-Archive <$true | $false>] [-Confirm
[<SwitchParameter>]] [-MailboxCredential
<PSCredential>] [-MonitoringContext <SwitchParameter>]
[-TotalTimeoutInMinutes <Int32>] [-TrustAnySslCert
<SwitchParameter>] [-WhatIf [<SwitchParameter>]]
|
Detailed Description
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 primary mailbox, or primary and on-premises archive 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 "Test Outlook Anywhere connectivity" entry in the Client Access Permissions topic.
Parameters
Parameter | Required | Type | Description |
---|---|---|---|
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. |
GetDefaultsFromAutodiscover |
Required |
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 |
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 |
RpcTestType |
Required |
Microsoft.Exchange.Monitoring.RpcTestType |
The RpcTestType parameter specifies which type of RPC
endpoint the command should test. Valid values are
|
WSClientAccessServer |
Required |
Microsoft.Exchange.Configuration.Tasks.ClientAccessServerIdParameter |
This parameter is reserved for internal Microsoft use. |
WSTestType |
Required |
Microsoft.Exchange.Monitoring.VirtualDirectoryUriScope |
The WSTestType parameter specifies type of servers that you want to include in your Outlook connectivity test. You can use the following values:
|
Archive |
Optional |
System.Boolean |
The Archive parameter specifies whether tests should be performed to connect to the user’s on-premises archive mailbox. You don’t need to specify a value for this parameter. |
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. |
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.Management.Automation.SwitchParameter |
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 |
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:
The default value is |
RpcClientAccessServer |
Optional |
Microsoft.Exchange.Configuration.Tasks.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 |
Optional |
Microsoft.Exchange.Monitoring.RpcProxyAuthenticationType |
The RpcProxyAuthenticationType parameter specifies the
authentication setting for the RPC Proxy endpoint. The value can be
specified as |
RpcProxyServer |
Optional |
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. |
RpcProxyTestType |
Optional |
Microsoft.Exchange.Monitoring.RpcProxyTestType |
The RpcProxyTestType parameter specifies which HTTP
endpoint the command should connect to. The value can be
|
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.Management.Automation.SwitchParameter |
The TrustAnySslCert parameter can be set to
|
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. |
Input Types
To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types. If the Input Type field for a cmdlet is blank, the cmdlet doesn’t accept input data.
Return Types
To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types. If the Output Type field is blank, the cmdlet doesn’t return data.
Errors
Error | Description |
---|---|
|
Examples
EXAMPLE 1
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.
Copy Code | |
---|---|
Test-OutlookConnectivity -Protocol:HTTP -GetDefaultsFromAutoDiscover:$true |
EXAMPLE 2
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.
Copy Code | |
---|---|
Test-OutlookConnectivity -RpcProxyTestType:Internal -RpcTestType:Server |
EXAMPLE 3
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 following command is similar to running a
connectivity test using the RPC Ping utility but provides stronger
validation.
Copy Code | |
---|---|
Test-OutlookConnectivity -RpcProxyServer:RpcProxySrv01 -RpcProxyAuthenticationType:Basic -RpcClientAccessServer:CAS01 -RpcAuthenticationType:NTLM |