Friday, May 28, 2010

The Blog is moving to TechNet


I wont blog here anymore, you can follow up my new blogs on

Monday, May 03, 2010

HUB Routing in a DAG Scenario

Nice one :)

When the Hub Transport server is co-located with a Mailbox server that's a member of a DAG, there are changes in routing behavior to ensure that the resiliency features in both server roles will provide the necessary protection for messages sent to and received by users on that server. The Hub Transport server role was modified so that it now attempts to reroute a message for a local Mailbox server to another Hub Transport server in the same site if the Hub Transport server is also a DAG member and it has a copy of the mailbox database mounted locally. This extra hop was added to put the message in the transport dumpster on a different Hub Transport server.

For example, EX1 hosts the Hub Transport server role and Mailbox server role and is a member of a DAG. When a message arrives in transport for EX1 destined for a recipient whose mailbox is also on EX1, transport will reroute the message to another Hub Transport server in the site (for example, EX2), and that server will deliver the message to the mailbox on EX1.

There's a second, similar behavior change related to the Microsoft Exchange Mail Submission service. This service was modified so that it would not submit messages to a local Hub Transport server role when the Mailbox server or Hub Transport server is a member of a DAG. In this scenario, the behavior of transport is to load balance submission requests across other Hub Transport servers in the same Active Directory site, and fall back to a local Hub Transport server if there are no other available Hub Transport servers in the same site.

Tuesday, April 20, 2010

CAS Static ports and what to LB


On the CAS servers, for Mailbox connections, you need to use add a DWORD registry key named “TCP/IP Port” under: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeRpc\ParametersSystem

Set the value to the port number to be assigned. In this article we use port 55000, but you are free to choose whatever port you want to use, just remember it should not conflict with other applications using the port. It is recommend you choose a port within the dynamic RPC ranger (1024-65535).

To use a static port for public folder access, you need to do the same on the mailbox servers:

First open the registry editor. Then add a DWORD key named “TCP/IP Port” under: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeRPC\ParametersSystem

It’s fine to use the same port that you specified on the CAS server

Finally you need to limit the port usage for clients that connect to the NSPI endpoint for directory access. Unlike MAPI access to mailboxes and public folders this is done by modifying a file more specifically the configuration file located in the Exchange Bin folder

Open the file in Notepad and then change the “RpcTcpPort” value from the default assignment of “0” to the port you want Outlook clients and Exchange to use for the directory access via the NSPI EndPoint. In this article we use port 55001.

When you have done the above changes, you should reboot the Mailbox and Client Access on which you performed the above changes.

from the installation guides:

The values used in NLB must be the same across all nodes in the NLB cluster. The values specified here will ensure that the Windows Network Load Balancing array can load-balance HTTPS (TCP443), IMAP4 (TCP143 and TCP993), POP3 (TCP110 and TCP995), RPC Endpoint Mapper (TCP135), Address Book service (TCP55000), and RPC Client Access (TCP55001).


Monday, April 19, 2010

"Warning: Failed to cleanup the source mailbox after the move"

In Exchange 2010 when a source mailbox is moved from Exchange 2003 to Exchange 2010 using the Mailbox Replication Service there is a potential issue can arise that source mailbox is not removed at the end of the move.

All of the content in the mailbox is moved from the source Exchange 2003 mailbox to the Exchange 2010 destination mailbox. All the user mailbox attributes are updated to point to the new Exchange 2010 mailbox

This issue can be caused by problems within the search folders that are located in the source mailbox

This issue will be mainly encountered in Exchange 2003 servers. This issue currently resolved in the Exchange 2007 mailbox servers that have been upgraded to Service Pack 2.

When you try to purge the mailboxes you will get the following error:

"The Operation cannot be performed because this mailbox was already reconnected to an existing user"

The solution is :;EN-US;930363

Thursday, April 15, 2010

DAG witness on non exchange server

If the witness server you specify isn't an Exchange 2010 server, you must add the "Exchange Trusted Subsystem" universal security group to the "local Administrators" group on the witness server. These security permissions are necessary to ensure that Exchange can create a directory and share on the witness server as needed. If the proper permissions aren't configured, the following error is returned:

Error: An error occurred during discovery of the database availability group topology. Error: An error occurred while attempting a cluster operation. Error: Cluster API "AddClusterNode() (MaxPercentage=12) failed with 0x80070005. Error: Access is denied."

Wednesday, April 07, 2010

What happened to –ConfigurationOnly?

In many of the disaster recovery scenarios in Exchange 2007, one of the most useful cmdlets is the “Move-mailbox” with the “ConfigurationOnly” parameter.

With the “ConfigurationOnly” parameter the mailbox content is not physically moved but instead mailbox configurations gets changed “mailbox location”, for example we could direct the mailbox(s) to a functioning server and create a dialtone database or if we have a database with clean shutdown state (from a failed server or backup) we could mount this database on a different functioning server and redirect users to that database (Database Portability) .

In Exchange Server 2010 the “Move-Mailbox” cmdlet is now replaced with the “New-MoveRequest” cmdlet and the “ConfigurationOnly” parameter is no longer available.

So in Exchange 2010 to maintain this powerful functionality and to allow a configuration only move of mailboxes, we will be using the “Set-Mailbox” cmdlet with the “Database” parameter, for example to move all the users whose mailboxes is on database DB1 to DB5 we will use:

Get-Mailbox -Database DB1 | Set-Mailbox –Database DB5

The example above shows how powerful the Set-Mailbox cmdlet in Exchange 2010 and care should be taken when working with this cmdlet.

Exchange 2010 SP1 news

Thursday, April 01, 2010

Update Rollup 3 for Exchange Server 2007 Service Pack 2

Update Rollup 3 for Exchange Server 2007 Service Pack 2 (SP2) resolves issues that were found in Exchange Server 2007 SP2 since the software was released. This update rollup is highly recommended for all Exchange Server 2007 SP2 customers.

For a list of changes that are included in this update rollup, see KB979784.

This update rollup does not apply to Exchange Server 2007 Release To Manufacturing (RTM) or Exchange Server 2007 Service Pack 1 (SP1). For a list of update rollups applicable to Exchange Server 2007 RTM or Exchange Server 2007 SP1, refer to the Knowledge Base article KB937052.

This is a cumulative update rollup and replaces the following:

KB971534 Update Rollup 1 for Exchange Server 2007 Service Pack 2 (KB971534)

KB972076 Update Rollup 2 for Exchange Server 2007 Service Pack 2 (KB972076)