Archive for 2012

"There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9)".

My last article of year 2012.
I was installing exchange server 2010 SP2 and ran into this error/issue. The server is updated with windows update and prerequisite is installed.

While Hub Transport installation was going on, it failed with the below error message.

Hub Transport Role

The following error was generated when "$error.Clear();
          if (!(get-service MSExchangeADTopology* | where {$ -eq "MSExchangeADTopology"}))
        " was run: "There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9)".

There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9)
Click here for help...

Elapsed Time: 00:00:18

Client Access Role

Finalizing Setup

I checked the windows firewall service and found that it was disabled. Set the service to Automatic and started the service. Started the installation again it completed successfully. As exchange server 2010 is getting installed on Windows Server 2008R2, you make sure that Windows Firewall is not disabled. You should never disable the Windows Firewall on Windows Server 2008R2.

I thought of writing it as my last article of year 2012. I will begin New Year 2013 with Exchange Server 2013 and Unified Communication technologies and try to write as many as helpful, knowledgeable articles I can.

Happy and Prosperous New Year To All of You.


Error: An error occurred while trying to validate the specified database copy for possible activation. Error: Database copy 'DB01' has been blocked from activation on server '' by an administrative action.

I came across with this "weird" issue while upgrading DAG from exchange server 2010 SP1 to SP2. The environment had Windows NLB with 2 servers.
Here is how DAG looks like...

As per the procedure, I upgraded the Network Load Balancer first and then Mailbox Servers. Network Load Balancer upgrade went fine without any issues. Installed Update RollUp 4 as well after upgrading it to SP2. Started upgrading Member server of DAG, you can refer to this Tech Net article to upgrade DAG member servers.

Both the member server MBX02 and MCSHT got upgraded as expected, while upgrading the MBX01 it failed on stopping Microsoft Exchange RPC Client Access Service twice.
Restarted the server and upgrade completed successfully. Installed Update Rollup 4 as well on all the servers. After upgrade now it's time to move the everything back as it was before upgrade. So ran the below command:
Move-ActiveMailboxDatabase "DB01" -ActivateOnServer MBX01 and it failed with below error.

Checked the status of the server by running the command:
Get-MailboxServer MBX01 | fl Name,DatabaseCopyAutoActivationPolicy  and it says Unrestricted, hence it's not blocked. Ran the command again and it failed with the same error message. Tried from GUI and as expected, it had to failed.
Friend of mine with whom I was working with, suggested that we should try to Suspend the copy of database residing on MBX01 and resume the DatabaseCopy than try to move.

ActiveMailboxDatabase from GUI

Surprisingly it worked like a charm. It's a BUG and I checked in Update RollUp5 v2 and it hasn't got fixed yet.


Scheduling Assistant in OWA is not showing the GAL in Exchange Server 2013 RTM

Scheduling Assistant is not showing the Global Address List (GAL) information when scheduling meeting using OWA (Outlook Web App) in exchange server 2013 RTM version, not like the way it use to work in exchange server 2010. In exchange server 2010 when you click on Scheduling Assistant in OWA it gives the entire Global Address List (GAL) to choose the user from it.

This is how it looks in OWA when you click on Scheduling Assistance in exchange server 2010.

Now I am creating new event using OWA and the mailbox is on exchange server 2013 RTM.

Click on new event

Now when I click on Scheduling Assistant I should see all the mail enabled object in the GAL, in other words, entire GAL. But unfortunately I don't see it, I just see my self and nothing else.

If I want to add the Attendees into the event (Meeting) I will have to do it manually by typing there name in Add Attendees box. Which is weird, as it works fine in exchange 2010 and I get to see the entire Global Address List (GAL).

I don't know why it's behaving like this, which it shouldn't be, or am I missing something!. I will check the same thing in Outlook and will update the article. I am still looking into the issue with OWA and will update the article in few days if I come across with anything.

Till then...


Exchange Server 2013 CAS arrays

Exchange 2013 doesn't need to use CAS arrays any more, finally all those worries of tons of name space is gone away now. Now we can use just One* Name Space, Global Name Space. Look for "Deployment simplicity" section for more details on Global Name Space.

Client Access Server 2013 is a much simpler beast all round, which should make it easier to manage one of the truisms much beloved by those who pontificate about designing for Exchange is the necessity to follow “best practice.” There’s absolutely nothing wrong with this approach as best practice is defined to be a method or technique that has consistently shown better results than other methods. In other words, it’s an approach that works well, probably because others have tried different methods and failed.

But the important thing is not to become clogged in best practice and to understand that best practice evolves constantly in line with human experience and developments in the underlying technology.

Take CAS arrays for instance. Introduced with Exchange 2010, CAS arrays provided a method to group a set of CAS servers together in such a way that they could be addressed as a single entity (and had a single IP address and FQDN). Individual servers could join and leave the array over time and the array would keep functioning as long as a single server was active. All-in-all, it was a nice concept, even if a CAS array didn’t perform any load-balancing of incoming client connections. In this respect, you can ignore the statement in TechNet’s documentation of the New-ClientAccessArray cmdlet that says it creates “a load-balanced array of client access servers within a single Active Directory site.” That’s not true, but the vendors of load balancers were all too happy to fill that gap.

Best practice duly had to be formulated and it was proclaimed that you should always create a CAS array within a site and assign the CAS array object to the RpcClientAccessServer property of mailbox databases. The value of RpcClientAccessServer is given by the AutoDiscover process to Outlook clients to populate their profiles when created and provides a MAPI endpoint for connectivity within the site (remember, a CAS server or an array is limited to a site). CAS arrays do nothing for non-MAPI clients such as Outlook Web App (OWA) or Exchange Web Services (EWS).

Once provided with the FQDN of the CAS array, Outlook clients would attempt to connect to the CAS array rather than to an individual CAS when they attempted to open a mailbox, which solved the problem of providing continual access to the mailbox when an individual CAS was taken offline for some reason, such as applying a roll-up update. This alone is an excellent reason for the suggested best practice to be valid and worth respecting.

Roll forward to today and the advent of Exchange 2013. You now observe that the CAS is a tad different. The Exchange 2013 version of the CAS is a much simpler beast as it is purely an authentication (are you authorized to connect to Exchange?) and proxy/redirect (where do you need to go to find your mailbox?) server. No processing is performed of mailbox data by the CAS; all it does is to send on client requests to connect to the mailbox server that hosts the currently active copy of their mailboxes via HTTPS (no MAPI RPCs).

The RPC Client Access namespace, which was introduced in Exchange 2010 to handle the concept of RpcClientAccessServer described above is no more and Exchange no longer uses FQDNs of CAS servers or arrays to locate user mailboxes. Instead, CAS uses the unique GUID assigned to the mailbox. When an incoming client connection must be processed, CAS looks up Active Directory to find details of the mailbox via its GUID (including the database that hosts the mailbox) and Active Manager will tell CAS what mailbox server currently hosts the active copy of the database. Voila!
In passing, I note that the mailbox GUID can be shown to humans from time to time by Outlook when it configures a new profile. I hope that Microsoft finds some method to translate the GUID to something more user-friendly before Exchange 2013 finally ships as otherwise I think this will cause some extra support calls for help desks. Computers are good at translating GUIDs, humans are not.
There are many reasons why Microsoft has taken this route for Exchange 2013, but perhaps the most basic is to uncouple the functionality of CAS from mailbox servers so that both can function independently of each other in terms of geographic location (a CAS in one datacenter can service requests going to a mailbox server in another) and software versions (you won’t have to update CAS and mailbox servers with the same software in future). Overall, CAS 2013 is much, much simpler (another example is how the load balancing focus shifts from layer 7 to layer 4) and CAS 2013 is much more of a lightweight service than before, one that can be removed from service without causing much disruption to the overall infrastructure or client connections.
As for the RpcClientAccesServer property, and our best practice of deploying CAS arrays for Exchange 2010 – well, they’re pretty much dead and buried by the developments in Exchange 2013. The property still exists in Exchange 2013 but it’s an artefact of the past about which we no longer need to concern ourselves, once the migration to Exchange 2013 is complete.


Upgrade the discovery mailboxes to R5 version, this will fix the RecipientDisplayType property of the discovery mailbox which was wrong in R4.

Hi All, It's been longtime I wrote any new article, being busy in some other stuffs.

I was doing installation of second Exchange Server 2010 Mailbox Role for my DAG (LAB) today and got this error. This error reminded me my Microsoft Exchange PSS days.  
I have seen this error before when exchange server 2010 was RTM.

I thought of writing a small article for this issue. To resolve this issue, first I uninstalled Mailbox Server Role and restarted the server. Ran /preparead and tried the installation but it failed again.
Their is one attribute in exchange for all the mailboxes, its homeMDB. I checked the attribute on the user account by going into Adsiedit.msc...Domain Partition...User...Gulab Prasad (my account) and found that it is set on the account. 

Now there are two System Mailboxes from which this information is missing. Here is the attribute with homeMDB not set.

Now here is what I did to fix the issue. Go to Adsiedit.msc and Domain Partition and copy the attribute value from any user mailbox and paste it in homeMDB attribute.

After making the above changes, start the installation and installation will complete successfully. And, end result will look like this....

I hope it helps to someone, who's running into the same kind of issue.


Installing Exchange Server 2013 Preview on Windows Server 2008 R2 SP1

Microsoft launched Exchange Server 2013 Preview on July 16th 2012. Lets have a look, how to install Exchange Server 2013 Preview on Windows Server 2008 R2 SP1.
I am installing E2K13 Preview on Windows Server 2008 R2 SP1. But you can install it on Windows Serve 2012 RC as well.

First we will install prerequisites, and the way of prerequisite installation remains the same as it was in Exchange 2010.
Step 1: Run the below command in Windows Power shell.

 Restart the server after the installation.

Step 2: Install the prerequisites, there are total 8 prerequisites for E2K13 Preview and is how they looks

You can download the all the prerequisite from here
Install all the prerequisite as both Mailbox and Client Access Server Role will be on the same server.
You will have to restart the server several time as while installing the prerequisites.

Now we are going to run /PrepareAD now running /PrepareAD is the same with small change. I should be run like Setup /PrepareAD /OrganizationName:EXCHANGE /IAcceptExchangeServerLicenseTerms
You will have to run it with /IAcceptExchangeServerLicenseTerms swith or it won't work. This is something as in Exchange 2007and 2010 it use to ask "Press key if you don't agree the License Terms".

Once /PrepareAD is complete successfully you are ready to install E2K13 Preview. Run the set up file or install it from shell or command prompt.

Select Don't check for updates right now and click next.
Accept the License Agreement and click on next.

Specify your Error Reporting preference and click next, I have selected No.

Configure Client Access Server and click next

Make you Server Role Selection and click next
Installation path, I have kept it on default location, click next
Malware scanning, which is brand new in 2013. I've disable it. You can read more about this under Anti-Spam and Anti-Malware Protection in the TechNet documentation.
Select an option for the Customer Experience Improvement Program and click next
Final readiness checks will be done.
Installation of Exchange Server 2013 Preview is successfully done.
In my next article I will be writing on OWA, EAC and few other features of E2K13.


Outlook Web App isn’t available. If the problem continues, please contact your help desk.

After upgrading exchange server 2010 SP1 to SP2 with update rollup 3 on main site and all other site, users on non internet facing CAS server sites started getting the error when they access OWA, Active Sync and Outlook Anywhere.

OWA Error
Exchange Server 2010 environment:
AD Sites: 5
Boston (main site): Exchange Server 2010 SP2 with Update Rollup 3
San Diego: Exchange Server 2010 SP2 with Update Rollup 3
New Jersey: Exchange Server 2010 SP2 with Update Rollup 3
San Francisco: Exchange Server 2010 SP2 with Update Rollup 3
New York: Exchange Server 2010 SP2 with Update Rollup 3

First thing which comes in my mind is, OWA sub folders at location C:\Program Files\Microsoft\Exchange Servers\V14\ClientAceess\Owa\. I checked and compared the folder version of Boston server and New York server, and found that New York subfolder version is higher than Boston.
New York Server
Boston Server                 

Copy the file from Boston server and pasted it on New York server and restarted the IIS service on New York server, but still getting the same error message.Reverted the change on New York server.
One thing I noticed when upgrading the Boston server was, when updating the exchange server with Update Rollup 3, it took very long time to start the MS Exchange Information Store service and we had to restart the server.

Now to update the Owa subfolders on Boston server, there are 2 ways.
1: Copy the file from New York server and paste it on Boston server.
2: Reinstall the Update Rollup 3 on Boston server.

Note: I have seen lots of people suggest updating the SP2, but in my case I didn’t had to update the SP2.

I went with 2nd option, I reinstall Update Rollup 3, and again it took long time to start the service, but this time it completed successfully.
After reinstalling the UR3, compared the Owa version and now they all are update like all the servers in environment.
Checked the issue, but still getting the same error. We are using CAS Proxy and Boston server is the Proxy server. Here is, how proxy looks.

CAS Proxy

I noticed that, New York and San Francisco CAS server got ExternalURL in OWA  and ECP virtual directory, which is absolutely wrong.

OWA ExternalURL
External URL on non Internet facing server
Here is how things should be on all non Internet facing CAS server if you are doing CAS Proxy:

  • Make sure all non internet facing CAS servers don’t have ExternalURL set on OWA and ECP virtual directory.
  • Make sure you have authentication set to Basic and Integrated Windows Authentication
  • Make sure that non internet facing CAS server is not on Island or remote location, if it is, make sure you got strong bandwidth and replication is in good state.

Removed the ExternalURL from OWA and ECP from New York and San Francisco servers.

OWA ExternalURL Clear
Remove External URL
Checked the Authentication type on both, OWA and ECP virtual directory and it was set to Form based authentication, which is again wrong.

OWA Authentication
Wrong authentication on owa virtual directory
Changed the authentication from Form Based to Basic and Integrated Windows authentication on all the servers. Restarted the IIS service on all the non internet facing servers.

OWA Authentication Set
Correct authentication
Logged into each users mailbox of non internet facing CAS servers in OWA and now it's working as it suppose to be. Checked ECP (Exchange Control Panel), and it’s working great.

Successful OWA Access
Successful owa login
Successful ECP Access
Successful ecp login
After making all the changes, tested active sync and outlook anywhere and it's working perfectly.


Room mailbox availability error “An unexpected error occurred and your request couldn't be handled”

When booking room mailbox for meeting which is on exchange server 2003, getting error “An unexpected error occurred and your request couldn't be handled”.  This user has been moved on exchange server 2010 and when user tries to book a room for meeting he is getting the error in Room Mailbox Availability status.
Room mailbox booking for meeting
Availability error

Ran the command “Set-Mailbox User1 –ApplyMandatoryProperties” and checked the issue but it didn’t worked. Checked the properties of Room Mailbox for permission and if user is part this room Mailbox, and permission and user were intact.
I decided to move this Room Mailbox to exchange server 2010. Moved the Room Mailbox. When you move the room mailbox from one server to another server or database, it will be moved as user mailbox but not as Room Mailbox. You will have to convert the user mailbox to room mailbox.
Set-Mailbox COConf -Type Room
After converting the user mailbox to room mailbox, checked the issue but still it wasn’t working. There is another setting which need to be changed and it can be done using EMC or EMS.
Go to properties of Room Mailbox…Resource General TAB and found that “Enable the Resource Booking Attendant” is not checked.
Room mailbox properties "Resource General"

Make sure “Enable the Resource Booking Attendant” check box is checked!
Enable the Resource Booking Attendant

You can make this change by running the command “Set-CalendarProcessing "COconf" -AutomateProcessing AutoAccept”. After making this change, checked the issue and how I can see the availability of Room Mailbox.
Room availability working

Now, it started working for the user’s on exchange server 2010, but what about the users on exchange server 2003? Checked the users of exchange server 2003 and it’s working fine.