With dozens of virtual servers on tens of virtual test networks here in the Exchange division, all getting hammered quite a bit with Naughty Things that Probably Shouldn't Be Done, we tend to break things quite regularly.
One of the more common failures is Outlook Web Access under Exchange Server 2007. One way or another, it just stops working - sometimes in a minor way, sometimes more extensively. This morning, it simply presented me with a blank page after login.
Part of a network of about ten other machines, I wanted to avoid a complete re-install, so searched around for some hints. The first was some instructions on
how to recreate the virtual directories in the event of reinstallin.... Useful to know, but in this case, unsuccessful.
Next up, a suggestion of removing the Client Access role, and reinstalling it. This should be straightforward, and indeed I've used it in the past for Exchange Server 2003. From a command line, it should just be:
- exsetup.exe /m:uninstall /r:ca
- exsetup.exe /m:install /r:ca
The first statement uninstalls the Client Access role; the second should reinstall it. However, it seems something hadn't quite gone according to plan on the uninstall, because when I tried re-installing, it told me it was already installed:

Fair enough - let's uninstall again:

Hang on - it's both installed and not installed? Time to see what Active Directory thinks is going on. Using adsiedit or similar, you can check the roles that the Exchange organisation thinks are installed. Navigate to Configuration -> Services -> Microsoft Exchange -> {Your organisation name} -> Administrative Groups -> Exchange Administrative Group (FYDIBOHF23SPDLT) -> Servers -> {Server Name}, and view its properties. Locate the "msExchCurrentServerRoles" property, and note its value. For me, this was 34, which decodes as:
- Mailbox = 2, installed
- Client Access = 4, not installed
- Unified Messaging = 16, not installed
- Hub Transport = 32, installed
- Edge Transport = 64, not installed
- 2 + 32 = 34
So AD believes there's no Client Access installed. I agree. But Exchange setup claims otherwise. What to do?
Thankfully I then ran into an article on
How to Recover a Lost Server on MSDN, which had some great pointers. The basic RecoverServer didn't work, but the second method did the trick. Here's what I did:
- Edit HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\v8.0, and renamed HubTransportRole and MailboxRole out of the way (by adding an X to their names)
- Changed the msExchCurrentServerRoles value to 4 (ClientAccess only) in AD
- Ran exsetup /m:RecoverServer - which installed Client Access
- Delete the newly created HubTransportRole and MailboxRole keys, and renamed the old HubTransportRoleX and MailboxRoleX back to their original names
- Changed msExchCurrentServerRoles to 38 - Mailbox, Client Access and Hub Transport
The moment of truth - does OWA work? I'll leave that to the screenshot below!

You need to be a member of The SysAdmin Network to add comments!
Join The SysAdmin Network