Outlook clients may receive an error when they try to connect to mailboxes after the Client Access server role is moved between two Exchange Server 2010 servers.

Cannot start Microsoft Office Outlook. Unable to open the Outlook window. The set of folders could not be opened. The server is not available. Contact your administrator if this condition persists.

Outlook Clients Unable to Connect to Exchange 2010 After Client Access Server Role Moved

Unlike the previous versions of Exchange in Exchange Server 2010 all client communications, including MAPI clients, connect to the RPC Client Access service running on the Client Access server role.  Thanks to the componentized server role architecture of Exchange Server 2010 it is possible to move this role between servers to suit the needs of the organization.

For example, an organization may deploy Exchange Server 2010 on a single server, and then later scale that out to separate the Client Access server role to a different server.

Each mailbox database in the organization is associated with an RPC Client Access service in the same AD Site when it is first created.  This association is not dynamic.  If the Client Access server role is removed from the single Exchange server and deployed to a new server, all of the existing mailbox databases are no longer associated with a valid RPC Client Access service name.

The association can be seen on the mailbox database attributes by running this command in the Exchange Management Shell.

[PS] C:\>Get-MailboxDatabase | fl name,*rpc*

Name                  : Mailbox Database 0447493325
RpcClientAccessServer : ex1.domain.local

If the Client Access server role was moved from ex1.domain.local to ex2.domain.local, you can associate the mailbox database with the new RPC Client Access service by running this command.

[PS] C:\>Set-MailboxDatabase -Identity "Mailbox Database 0447493325" -RpcClientAccessServer ex2.domain.local

You can perform this action for all mailbox databases on the server by running this command.

[PS] C:\>Get-MailboxDatabase -Server ex1.domain.local | Set-MailboxDatabase -RpcClientAccessServer ex2.domain.local

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

  1. Manas Dash

    Why we called Outlook as MAPI client ? is there any MAPI protocol there ? I found only POP3 / IMAP not any MAPI. What is mapi inside other than its definition as “message application programming interface”. How it integrate with outlook. what exactly we call outlook as mapi…i do not understand. Is there any communication protocol specific there in side outlook or what else ???

  2. Jan Santiago

    Paul, I almost have the same scenario. I have a DAG (MX1, MX2, MX3) and a standalone exchange (MX4). MX4 has all the role installed but has blue screened several times. I was uninstalling the CAS role and it blue screened again. I verify that the role was removed when I check EMC (and when running this command “Get-ClientAccessServer | fl Name,AutodiscoverServiceInternalUri”) and the MX4 doesn’t have the CAS role anymore. The issue is when I power down MX4 some outlook clients are getting disconnected and still trying to connect to MX4. Will this solution work?

  3. MM

    Life saver, right here. Made my maintenance night much easier.

  4. Tim Friel

    I have seen this error in exchange 2013 coexistence but the mailbox was on an exchange 2013 server. Any ideas?

  5. Terry

    Hie Paul

    Got a problem when trying to switch rpcclientaccessserver am getting an error ‘xxxxxxx’ does not have the right Exchange Server version or role required to support this operation.

    Quite stuck now

    1. Terry

      Got it….one database at a time

  6. Kris

    Thanks. This saved a lot of time. Wildfire first thing Monday morning over a stupid little thing like this. Had it fixed in no time using your information which was quickly found via Google!

  7. Roger Nyman

    We were stuck on this very problem for hours setting upp a Exchange 2010 based HA-lab. As ursual an excellent article that not only solved the specific problem of ours, but also evolving into other scenarios and explainations (comments) and articles (mosty yours 🙂 ). Thanks!

  8. Alex

    Hello Paul,
    I set DAG on my business area, which has two Exchange server (Ex01 & Ex02) with MBX,CAS & HUB roles, at the begining everything was ok but now some users which their mailbox data base are located in DB01 on Ex01 can not connect and find Ex server. with the mentioned error. I run your commands but it didnt work. let me know what should I do. 🙁

    thanks in advance.
    Alex

  9. jumpman23

    Hi Paul,

    Ive fallen into the same trap and moved mailboxes to a new DB (DB01)on a new server with the CAS role on and when I shut down the old server that has the CAS and MB role on, users lose access.

    Can I create a CAS array and new database (DB02) and associate the CAS array RPC server with DB02 and then migrate users from DB01 to DB02 to solve my problem?

    Thanks

  10. WhiteRAVE

    Thanks so much that totally solved my issue.

  11. Matias

    Hello Paul! I’m having some issues with our Outlook 2010 clients. The scenario is this:

    EX01 – CAS, HUB, MBX (DAG member)
    EX02- CAS, HUB
    EX03 – MBX (DAG member)

    I need to do some maintenance on EX01, which will be offline for several hours. I move all databases to EX03. I shutdown EX01. When I do that outlook clients start to show connection errors. Even if a recreate outlook profiles on clients, it keeps giving connection errors. I’ve pointed RPC Client Access Server of all databases to EX02, but it still keeps showing connection errors. Despite this, clients can work on their mailboxes and send/receive mails, but it is annoying because clients complain about error messages.
    What can I do? Is there any workaround or the only solution is to remove EX01 from domain?

    Thanks a lot!

  12. Gerarde Delaney

    Hello Paul

    I’ve recently come across your site, so my apologies if this question has already been answered, but we have been trying to simply change the IP address of the single CAS server within our AD site.
    We haven’t created a CAS array, so DNS points the CAS FQDN to its physical IP address. Changing that IP address stops clients connecting to the mailbox server, even though the DNS updates correctly, pinging from the client to the CAS FQDN is fine, ping from the mailbox server to the CAS is fine. We are finding that some exchange services on the mailbox server don’t start, and there is nothing in event viewer to indicate what the problem is.
    Because the CAS is in a DMZ I can see traffic on the firewall being denied to the OLD IP address and no traffic flow at all to the new IP address.
    At first I though it must be the Alias for the CAS server that is defined on the Firewall, but this is set to the new IP address, not the old one.
    Any pointers that you can provide would be appreciated.

  13. Sarfraz Aslam

    Hi,
    I am having a problem, we have 2 hub/cas running in windows NLB, both were functioning fine but after adding 1 more hub/cas in NLB, outlook clients having connect and disconnect issues. Please suggest a solution. Thank you in advance.

    Regards,

      1. Sarfraz Aslam

        After move out a new server from NLB, all clients successfully connected to Exchange, with old 2 hub/CAS. Where the issue is basically? I have Server 2012 installed on new server and old are on 2008.

        Regards,

  14. Nikolay Nikolov

    Hi, i have a problem with exchange 2010 and live mail client. We move client mailboxes from one datebase to new one and 4-5 mailboxes can’t refresh new mail’s in mail client, but in OWA they have new mail’s – please help and sorry for bad language…

    1. Avatar photo

      Live Mail uses POP or IMAP to connect I assume. I don’t know why a database switchover would stop POP or IMAP working as those services are running on the Client Access server role. Is the DNS name the clients are connecting to still resolving to a working Client Access server?

  15. Danushka

    Dear Paul,
    I encountered issue with my existing exchange 2010 env. let me describe the scenario available right now.

    we have 3 x exchange 2010 with CAS+HB+MBX on each single server and exch01 was working as a primary CAS/HB/MBX. suddenly exch01 has no connection with CAS and MBX as users could unable to update the outlook. but once I mounted exch02 databases, it is working fine. we checked all required info in exch01 but no luck.

    currently exch01 working as a CAS/HB and exch02 act as a MBX.

    kindly help me to sort this issue.

  16. Mohi

    We have an odd issue with one of our customer that they had an HA in AWS and they recently replaced their IT support team so what they did , they simply disconnected their aws service from them and just given the primary access to the exchange that is the primary is located in-house. Now when it turn to our side, we rebuilding the HA in aws again, but due to unprofessional implementation the DAG was unable to move and even we couldn’t replicate with the AWS, so we decide to move the existing mail box to aws and make this as primary, then rebuild the in-house exchange and replicate it again. so what happened now, some users mailbox moved well and those working perfect, some users still there in the in-house server those were failed in 80% and the mailbox size is almost 6-17 GB each those were unable to move. now the emails are getting the users through the aws. but some point when we configure the new outlook client for the users, it is actually pointing the old aws server name and the same time the same user with some other computer it works fine. we were checking on the House server if there any registry that related to the old aws server and those already removed from the entry. but still it is pointing to old server, so we forced to move the mailbox of having issues to the in-house server. what could be the problem.. sorry for my poor english

    the servers are running in 2008R2 and the exchange is 2010 SP1

  17. David Musashi

    If your just migrating all your services from Server A to Server B (lease is up on Server A so just moving things to new hardware) so in the end you’ll only have Server B running, is it still necessary to create the CAS array? I thought outlook 2010 would automatically re-home itself to the new server as long as the old server was still online at the initial attempt to access the mailbox?
    Right now, “Get-MailboxDatabase | fl name,*rpc*” Tells me the RPC server for the old databases is the old server and the RPC server for the new databases is the new server. I’ve moved over only a small handful of clients to the new server (including myself) and so far we’ve all been working ok. However, I’ve not shut down the old server or removed the CAS role yet because 98% of the users are still on the old server. This article insinuates that this CAS issue won’t become known until after I’ve removed the CAS role from the old server?
    Is there any way to see what a particular user is using for a CAS? You say in a previous post that RPCClientAccessServer is a per-database setting and users connect to the RPCClientAccessServer, not the mailbox server. If “Get-MailboxDatabase | fl name,*rpc*” is telling me that the RPCClientAccessServer for a new database is on the new server and a user is moved to the new database on the new server, why wouldn’t they also be using the new RPCClientAccessServer?
    It seems silly that I’d have to create a CAS array just to remove a server from it, but if that’s what I have to do I’m more than willing to do so.

    Thanks in advance!

    1. David Musashi

      Ok, reading the linked article “Getting Started with Exchange Server 2010 Client Access Server Arrays”. If Microsoft recommends the CASArray even for a single server I’m all for it. With a single server environment but with a dozen AD sites, I assume you just create the CASArray in the same AD site the physical server sits? So if the physical exchange server is in SiteA the creation is:

      New-ClientAccessArray -Name CompanyCASArray -Fqdn CASArray.DomainName.Com -Site SiteA

      Then after I configure the DNS record:

      Get-MailboxDatabase -Server MailServer.DomainName.com | Set-MailboxDatabase -RpcClientAccessServer CASArray.DomainName.Com

      I can confirm then that all databases are pointing to the new CASArray by using:

      Get-MailboxDatabase | fl name,*rpc*

      How do I update the users Outlook though? If I move an existing user to a database that has the newly updated CASArray, will Outlook update? What about users that are already in a database that has been updated with the new CASArray? As I understand it, outlook won’t update these existing users. Could I just move them out of the database and then back in so their RPCClientAccessServer settings update to the CASArray? If that’s the case, then wouldn’t moving them from the old server, to the new server (which had itself listed as the RPCClientAccessServer) have accomplished the same thing without needing the CASArray?

      1. Avatar photo

        Within the same AD site, the Outlook profiles will continue to point to their existing server name details (regardless of the new CAS Array) as long as that server is still available (even if you’ve updated the RPCClientAccessServer attribute on the databases).

        Until that server name is unavailable, at which point they will redo their Autodiscover and find the new CAS Array name.

        1. David Musashi

          Thanks Paul for the reply. I can’t stress how much I value this site and your posts!

          Ok, so if I understand you correctly, with the new CAS Array in place, but only on the new server, if I move a user from the old server to the new server, the outlook client won’t point to the new CAS Array until the old CAS becomes unavailable?

          What about people in other AD sites? Do I need to create a CAS Array attribute for each AD site even though there is only 1 CAS for the company?

        2. Avatar photo

          There’s circumstances where the Outlook profile will update to the CAS Array value, and circumstances where it will not. From what I can tell of your situation it will not update the Outlook profiles, because the server name they’re already configured for will still exist.

          But this is something you can test and determine for yourself.

          No you don’t need CAS Array objects in every site. It only needs to exist in the site where the Exchange servers are located.

  18. Bryan

    Thanks for this. Extremely helpful at 11:30pm after a CAS role server relocation with no array.

  19. Paul

    Hi Paul,

    Have you experienced any issues where after a mailbox has been moved to a new database which is part of the cas array on Exchange 2010 that the Outlook (in this case 2007) profile corrupts?

    And is there a work around for this?

    Regards,
    Paul

      1. Paul

        Thanks for the response, I managed to find the issue.

        At least on Exchange 2010 with Outlook 2007 this can be recreated.

        It seems that if the mailbox is moved to a database with a different RPCClientAccessServer address it can corrupt/cause issues with the profile – updating the RPCClientAccessServer on the mailbox database itself doesn’t cause any issues.

        1. Tim R

          We have had a coexistence network ( Exchange 2007 front end, 2010 Mailbox, CAS ) for a very long time. Our mailboxes were all created on the Exchange 2007 box years ago, and then moved to the 2010 server. We just added 2 more Exchange 2010 servers and set up a DAG. We have 2 on site Exchange 2010 servers, and one off site 2010 Server. We DID NOT set up a CAS Array.

          I found by accident that some of my users have randomly been assigned now to point to the new servers for RPC / client access. The user’s mailbox databases are still pointing to the Original Server, but if one of the back up servers is off line, then some users cannot open their mailboxes.

          Without a CAS Array, can I manually set each user to point to the original 2010 box for RPC, Mail and CAS? I don’t mind manually changing over in the event of a primary Exchange server failure.

          Is the RPC Server value set by user, or by mailbox database? I would like to see the current user settings, and then edit them. I’m just not sure why ALL of the users didn’t change when we set up the DAG. It was a very random assignment for each user. Some were assigned to each server.

        2. Avatar photo

          Tim, the problem you’re describing is what the CAS Array exists to solve.

          RPCClientAccessServer is a per-database setting. Users connect to the RPCClientAccessServer, not the mailbox server or DAG directly.

          Some reading that I think will answer all your questions there:
          https://www.practical365.com/exchange-server-2010-cas-array/

  20. Thomas Lau

    Thank you very much! I installed 2 Exchange 2010 servers (each server include : CAS + HUB + MAILBOX roles) and created DAG. After I shut down one Exchange server, mailbox database users which in shutdown Exchange cannot access Outlook, even though I created DAG. I thought the DAG should be failed…… I submited a incident call to Microsoft, the engineer cannot reply my ASAP. Until I find this article, oh, my god. I should also need to change the associate CAS server.

    Thanks again.

    1. Doru

      Thank you Paul, very useful!

  21. Jason Cole

    At the bottom of your other article: https://www.practical365.com/how-to-install-an-exchange-server-2010-client-access-server-array you say “Note that any existing Outlook profiles will not automatically update from the single Client Access Server to the new CAS array name. Those clients will not automatically failover to an alternate member of the CAS array when there is a server failure. You will need to update those profiles for them to receive the high availability benefits of the CAS array. This is one reason that it is important to establish CAS arrays prior to migrating user mailboxes to Exchange Server 2010.”
    Do you have to manually update a users outlook profile anytime you switch an RPCClientAccessServer or only when moving from a single CAS server to a CASArray? Thanks!

    1. Avatar photo

      I’ve been doing some testing but haven’t nailed the exact scenarios where profiles do and don’t need updating.

      So my only answer is “yes, probably”. Best to test it in your specific environment because I think it largely depends on the Outlook version and whether the old name is still accessible or not.

  22. J

    Does it matter if the server name: ex1.domain.local is using a different FQDN on the outside like: mail.domain.local ?

  23. Cedric

    Thanks for the information !!!!

    1. Matias

      Thank you a million. I spend about 5 hours trying to troubleshoot this issue with Outlook resetting itself to the wrong rpc server after moved a CAS to a different server. This simple command put me back in business.

      Thank you!

Leave a Reply