Friday, 6 November 2009

Exchange 2010 Forums @ MSExchange.org

Has it been that long since I posted here? Whoops! Anyway, just a quick note to let you know that there are now a whole load of new forums for Exchange 2010 over at msexchange.org - the direct link is here.

Monday, 14 September 2009

CCR/SCR and Event 2082

I had an annoying event log being recorded on the active node of a CCR environment on Exchange 2007 SP1 and Windows 2008 SP1. The event was :

Event: 2082
Category: MSExchangeRepl
Description: The Microsoft Exchange Replication Service was unable to create a network share named {transaction log folder name} for {storage group name}. Please verify that a network share with this name does not already exist.


This event was logged about 9 or 10 times an hour on average for every storage group on the CCR environment. The event was only logged when SCR was also used in conjunction with CCR. It was noted that this issue appeared to be benign in that there was no apparent loss of functionality and no other related issues recorded.

Believe me when I say that everything was verified in the troubleshooting, such as deleting the replication share names and letting CCR re-create them, checking CCR health, checking SCR health, etc, etc, etc. This system was on Update Rollup 7 for Exchange 2007 SP1 at the time, due to support requirements of other 3rd party archiving software being used.

As it turned out, the solution was fairly simple: apply Windows 2008 Service Pack 2. It looks like the actual problem is an RPC issue within the operating system that causes Exchange 2007 to log the 2082 event log.

If you're seeing this event being logged on the active node of your CCR environment, try upgrading to Windows 2008 SP2.

Wednesday, 5 August 2009

MSExchangeFBPublish 8207 Error

I had an interesting error last week that had me pondering for a while. Basically the error was this:

EventID: 8207
Source: MSExchangeFBPublish
Level: Error
Description: Error updating public folder with free/busy information on virtual machine {servername}. The error number is 0x80004005.

Now, there are a ton of Internet posts on this particular error. The thing that was different for me is that this error was occuring approximately every 100 minutes on an Exchange 2007 server that only had a mailbox database on it. In other words, there was no public folder database on this server even though the server name was referenced in the event log description and the error referred to the free/busy public folder.

To cut a long description short, this Exchange 2007 server was installed into an existing Exchange 2003 environment. Public folders were present in Exchange 2003. Dedicated Exchange 2007 public folder servers were also installed and the public folders had been replicated from the Exchange 2003 servers to the dedicated Exchange 2007 public folder servers. The mailbox server that was reporting this error was used solely to house mailboxes for journaling/archiving software and these mailboxes had not been logged into by the archiving software. So, why on earth would a mailbox server be reporting this error relating to free/busy public folders?

To cut a long solution short, the journal mailboxes were moved to another server temporarily and the mailbox database deleted. The mailbox database was then re-created and the journal mailboxes moved back. The problem went away.

Summary : something strange must have happened when the original mailbox database was created. Not the technical solution that some would want, but hey, it fixed it nonetheless!

Wednesday, 8 July 2009

Cluster Continuous Replication Network Design Article

A few weeks ago my latest article for simple-talk was published, called Cluster Continous Replication Network Design. In this article I talk about the options available for the configuration of redundant networks for log shipping and database seeding. If you're about to design a new CCR environment, it might be worth checking this article out to make sure you've addressed this important aspect of the design.

Thursday, 11 June 2009

Enable-ContinuousReplicationHostName Error

Tim McMichael from Microsoft has an excellent blog post about errors you might see when installing a CCR environment or enabling continuous replication host names. The post is:

http://blogs.technet.com/timmcmic/archive/2009/02/24/permissions-required-for-the-cno-cluster-name-object-in-windows-2008-for-exchange-2007-sp1-setup-operations.aspx

I just wanted to note that recently I was enabling a continuous replication host name via the Enable-ContinuousReplicationHostName cmdlet when I received this error:

Cluster Common Failure Exception: Failed to bring cluster resource Network Name (name) in cluster group (name) online. The event log may contain more details. Cluster Common Failure Exception: The cluster resource could not be brought online by the resource monitor. (Exception from HRESULT: 0x8007139A)

Although Tim's blog post covers a slightly different error message and error code, this appears to be the same problem as manually creating the computer account and setting the required permissions as per Tim's blog post solved the problem.

Thursday, 2 April 2009

That Old SeSecurityPrivilege Error

I had an interesting problem the other day when installing a Hub Transport server. Basically, the installation failed with the classic error message of "The process does not possess the 'SeSecurityPrivilege' privilege which is required for this operation". As it turned out, this error was also seen when running the Move-TransportDatabase.ps1 script provided by Microsoft and also when installing the Client Access Server role.

I ran the policytest.exe file that you can find in the \setup\serverroles\common folder from the Exchange 2007 source media. This program confirms whether the SeSecurityPrivilege right has been found on the domain controllers in the Active Directory site. This right is set on the Domain Controller Security Policy by the setup.com /PrepareDomain process. Specifically, the process grants the Manage Auditing and Security Log right. Policytest.exe confirmed that the right was present on all domain controllers.

I scratched my head for a while but it turned out that the Manage Auditing and Security Log right wasn't present on the local server's policy for the account that I was using to install the Exchange 2007 server. I added the right to my account via membership of a group and the installation proceeded just fine.

Thursday, 19 March 2009

To Mount Or Not To Mount?

This question came up recently and it reminded me that I, too, had recently forgotten how to do this. Consider the scenario where you are trying to determine, via Exchange Management Shell, whether the databases are mounted or not. Ordinarily you'd run a cmdlet such as:

Get-MailboxDatabase fl

This returns all properties for a mailbox database, of which there are quite a few. You can filter the output to return only properties containing the string 'mount':

Get-MailboxDatabase fl *mount*

As you can see from the text below, this returns us the MountAtStartup and Mounted properties:

MountAtStartup : True
Mounted :

However, you will notice that the Mounted property has no value. To determine whether the database is actually mounted or not, use the -Status parameter. I've also included the filter to show the name of the database as there are 5 databases on this test system:

Get-MailboxDatabase -Status fl name,*mount*

Name : SG1DB(E2K7)
MountAtStartup : True
Mounted : True

Name : SG2DB(E2K7)
MountAtStartup : True
Mounted : False

Name : SG3DB(E2K7)
MountAtStartup : True
Mounted : False

Name : SG4DB(E2K7)
MountAtStartup : True
Mounted : False

Name : SG5DB(E2K7)
MountAtStartup : True
Mounted : False

Wednesday, 18 March 2009

UR7 For E2K7 SP1

I've just noticed the latest update rollup (7) for Exchange 2007 SP1 is available. Enjoy. :)

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2074fefd-fa1a-4c3e-bf72-94585e454150#tm

Friday, 23 January 2009

February 2009 MMMUG Meeting

Here are the details of the February 2009 MMMUG meeting.

This event will be held in London at the MSFT offices in Cardinal Place near Victoria.

This month we have a evening about managing and automating Exchange led by Jonathan Medd from Hampshire County Council and Will Rawlings from Truconsulting. We will start with an introduction to PowerShell and then discuss how you can use PowerShell to manage Exchange 2003. After the break, we will dive into how to ensure your PowerShell scripts don't do any damage and look at how PowerShell can be used to manage large Exchange environments.

The meeting will be held on Wednesday 18th February.

To sign up, or for more information see the link below:
http://www.mmmug.co.uk/forums/thread/26352.aspx

Thursday, 8 January 2009

Rollup Update Logging

I saw this tip posted by someone from Microsoft on a forum recently so I thought I'd call it out here too. If you are applying one of the update rollups to your Exchange 2007 installation and you have any issues, note that you can increase the logging produced by the installer by adding a few extra bits to the command line. For example, take this command to install Update Rollup 5 for Exchange 2007 SP1:

Exchange2007-KB953467-x64-en.msp /lxv* c:\953467.log

This creates a detailed log file called c:\953467.log (or whatever you want to call it of course). On my test lab, I installed Update Rollup 5 and noted after the installation that it created a whopping 46MB log file. Now, I'm not saying you will need to know or even understand everything in the log, but it could help to shed some light on why the problem has happened. Or, perhaps the PSS engineer assigned to your call will request this file anyway. :)

The picture below should give you an idea of the output.




Monday, 22 December 2008

Moving Specific Users via the Exchange Management Shell

About a year ago I published a two-part article over at msexchange.org on moving mailboxes in Exchange 2007. You can find part one here and part two here. In part two I covered how you can use the Exchange Management Shell to move mailboxes via the Move-Mailbox cmdlet. One of the examples I gave was how to move all the users from one mailbox database to another via the following cmdlet:

Get-Mailbox –Database “DCEXCH\First Storage Group\Mailbox Store (DCEXCH)” Move-Mailbox –TargetDatabase “E2K7\First Storage Group\Mailbox Database” –MaxThreads 10

Here you can see that all users on the database called Mailbox Store (DCEXCH) are moved to another database called Mailbox Database. The -MaxThreads parameter with a value of 10 means that 10 mailboxes are moved at a time.

This cmdlet is great if you really want to move all users on a database at the same time. I recently received an email asking how you can move a list of users at the same time, which admittedly is more likely in a migration scenario. For example, you may want to move just a manager and his secretary at the same time. Let's say you have three users that you wish to move, who could be located on completely different source databases. The key here is to use the array feature of the Exchange Management Shell and put the aliases of the mailboxes to move into the array. A sample script is:

$UsersToMigrate = "user1", "user2", "user3"
ForEach ($SingleUser in $UsersToMigrate) {Move-Mailbox -Identity $SingleUser -TargetDatabase "server\storage group\database" -Confirm:$false}

Here we create an array called $UsersToMigrate, which contains the aliases of the three users. We then loop through the array one user at a time, identifying a single user as $SingleUser. For each user, we run the Move-Mailbox cmdlet and move each mailbox to the desired database which is identified in the server\storage group\database name format. It's as easy as that.

Thursday, 18 December 2008

TechNet Exchange Forums

Last week the Exchange forums on TechNet moved to a new URL. The old forums have links in them, but you can get to the root level for all Exchange forums by going here:

http://social.technet.microsoft.com/Forums/en-US/category/exchangeserver/

Tuesday, 16 December 2008

Update Rollups and Adding a Role

Assume you've built your new Exchange 2007 CAS server and applied the latest update rollup. All is well. Then you decide you need an additional Hub Transport server in your organisation so you add the Hub Transport role to the server currently running the CAS role. The question is: do you need to re-apply the update rollup? In fact, the question is really whether you need to re-apply the update rollup after adding any additional Exchange role to a server?

The answer is apparently 'no' as everything should be just fine. Fingers crossed, then.

Tuesday, 9 December 2008

Exchange 2007 Management Pack for Operations Manager 2007

At long last it looks like Microsoft has released a new native management pack for Exchange 2007 for System Center Operations Manager 2007. The old version was, apparently, ported from MOM 2005 and so this new version will be specifically for Ops Manager 2007.

You can grab it here.

Friday, 28 November 2008

How Many Clicks?

I can't believe it has been a week since I last posted here. That's terrible! Oh well, must try harder.

I was messing around with Exchange 2007 and Outlook 2007 yesterday trying to get the autodiscover service running through ISA Server 2006 in the lab yesterday. I managed to get it all working but at one stage I had a problem with the certificate that I was using on ISA. This resulted in the autodiscover process failing but during several attempts at this process I became rather annoyed at how many clicks I needed to do in order to cancel the Outlook profile setup!

Say you're trying to create a new profile by running Outlook and it fails, repeatedly prompting you for domain credentials. OK, let's cancel out of the setup process ready for another go later when we've resolved our certificate problem. That shouldn't take long...

Click 1 - cancel the new domain credentials password prompt.
Click 2 - click OK to the warning prompt stating "The connection to Microsoft Exchange is unavailable..."
Click 3 - now the generic window is presented where you normally fill in your Exchange server name and mailbox name. Click the cancel button here.
Click 4 - click OK to another copy of the warning prompt stating "The connection to Microsoft Exchange is unavailable..."
Click 5 - now the generic window where you normally fill in your Exchange server name and mailbox name is presented again. Click the cancel button here.
Click 6 - now the Add New Email Account window is displayed stating that it cannot log onto the server. Click cancel here.
Click 7 - now I'm presented with another window advising me on how I can create a profile with no email accounts. Click the cancel button again.
Click 8 - now I'm presented with an information box saying that no profiles have been created, etc. Click OK here.
Click 9 - finally I'm advised with another prompt that Outlook cannot be started. Click OK here.

Wow, 9 prompts to cancel an action!