Understanding RPC Client Access:
In Microsoft Exchange Server 2007, the Client Access server role was introduced to handle incoming client connections to Exchange mailboxes. Although the majority of types of client connections were made to the Client Access server, Microsoft Office Outlook still connected directly to the Mailbox server when it was running internally with the MAPI protocol.
A new service was introduced with Exchange Server 2010 to allow these MAPI connections to be handled by the Client Access server. The RPC Client Access service provides data access through a single, common path of the Client Access server, with the exception of public folder requests, which are still made directly to the Mailbox server. This change applies business logic to clients more consistently, and provides a better client experience when failover occurs.
Microsoft Outlook still connects directly to the Mailbox server to access Public Folder databases. If a client tries to connect to a Mailbox server for public folder access, the RPC Client Access service (MsExchangeRpc) answers the RPC endpoint. If the endpoint is on a server that has the Mailbox server role installed, the RPC Client Access service will only allow public folder logons and will provide a referral to a Client Access server or a Client Access server array. If the endpoint is on a Client Access server or Client Access server array, it will allow only Private folder logons and will provide a referral to a Mailbox server for public folder access.
RPC Client Access service delivers several benefits to the organization:
- Connections to mailbox resources are made via a common path.
- Connection throttling and other rules can be applied to mailbox connectivity.
- The end user experience during Mailbox server failovers and mailbox moves is improved.
The RPC Client Access service can be made highly available.
Requirements Of A Client Access Server Array:
The Client Access Server array is an object in Active Directory that associates a DNS name with the RPC Client Access Service for a particular AD Site.
There are 3 Steps to complete for getting the CAS Array operational:
- Create the CAS Array object in Active Directory.
- Configure a DNS record for the CAS Array name pointing to an IP address for a Client Access server or a hardware load balancer.
- Configure the RPCClientAccessServer attribute on the mailbox databases.
Create the Client Access Server Array:
You can run the following command to create the CAS Array:
- New-ClientAccessArray -Name cas-array-test -Fqdn outlook.domain.com -Site HO
In this example I user the name: cas-array-test. The FQDN of outlook.domain.com and the Site as HO
You can use your own name. cas-array-test is object that was created in AD.
If you have multiple sites it would be better to have your names structured correctly.
Once complete you need to configure the DNS record for your AD object. So Outlook.domain.com A Record will point to your CAS server I.P or Hardware load balancer.
Configure The Rpcclientaccessserver Attribute On your Mailbox Databases:
We now need to configure the mailbox databases with the correct RPCClientAccessServer attribute. This is the attribute that outlook looks up to determine which RPC Client Access Server to connect to a mailbox.
To check the current RPCClientAccessServer settings you can run the following command:
- Get-MailboxDatabase | select name,rpcclientaccessserver | ft –auto
It will list where each database is talking to. For example you might have a database called DB1 and its RPCClientAccessServer is EXHDB01 Server.
To update the RPCClientAccessServer settings you can run the following command:
- Set-MailboxDatabase EXHDB01 -RpcClientAccessServer outlook.domain.com
It is recommended to create a CAS Array before you have clients connecting to the Databases. If you already have clients connected you can always repair the outlook profile so it will connect to the new name.
Hope it helps.