Exchange Setup Repeatedly Says ‘A Restart from a Previous Installation is Pending’

You may find when installing Exchange 2007 or Exchange 2010 that the server repeatedly reports:
A restart from a previous installation is pending. Please restart the system and rerun setup.
Exchange Setup reads the following registry key to determine whether a system restart is required after installation or removal of a software update such as a security update, critical update, or hotfix.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\UpdateExeVolatile

Exchange Setup also checks the following registry key to determine whether a previous software update installation was not completed and the system must be restarted to finish the installation.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations

If setup still complains that a restart is needed after you’ve performed a restart, do the following:
  • Open RegEdit.
  • Set the HKLM\SOFTWARE\Microsoft\Updates\UpdateExeVolatile key value to 0 or delete it.
  • Delete the HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations key.
  • Rerun Setup.

The New Exchange 2007 SP3 Password Reset Tool

Exchange Server 2007 Service Pack 3 includes a handy new web page that allows users to change their password before logging into Outlook Web Access (OWA).

Previously, new users who are required to change their password at next logon or users whose password has expired cannot log on to OWA.  They will get the less than helpful error from the OWA, “The user name or password that you entered is not valid. Try entering it again”, as shown below:

 
In order to logon to OWA, the user must logon to the network, enter their old password and the new password.  Obviously, this causes problems for remote users whose password has expired or for new users who must change their password before logging in for the first time.

Exchange 2007 SP3 introduces a new SSL web page for these users that allows the user to change their password outside of OWA.  The page tells the user, “Your password has expired and you must change it prior to signing in to Microsoft Outlook Web Access.”

 
Once the user changes their password, the page redirects the user back to OWA.

This new functionality is not enabled by default, since some organizations do not allow password changes from outside the internal network.  To enable it:
  • Logon to the CAS with administrator rights
  • Run Regedit and navigate to HLKM\SYSTEM\CurrentControlSet\services\MSExchange OWA
  • Create a new DWORD (32-bit) Value called ChangeExpiredPasswordEnabled
  • Assign the ChangeExpiredPasswordEnabled value: 1
  • Restart IIS using IISRESET /NOFORCE from the command line
Surprisingly, this functionality does not exist in Exchange Server 2010 (or the SP1 beta).  I hope Microsoft decides to implement this when Exchange 2010 SP1 is finally released.  It’s a pretty handy feature!

Fix for Microsoft Exchange Protected Service Host service failed to start

If you install Exchange Server 2007 SP3 on a Windows Server 2008 R2 all-in-one server, you may get an error during installation of the Hub Transport role.  The error says,
A timeout was reached (30000 milliseconds) while waiting for the Microsoft Exchange Protected Service Host service to connect.

The Microsoft Exchange Protected Service Host service failed to start due to the following error: The service did not respond to the start or control request in a timely fashion.
This happens because there is a dependancy in the Microsoft Exchange Service Host service on IPv6.  Check to ensure that Internet Protocol Version 6 (TCP/IPv6) is enabled on the properties of the network adapter.

Unable to Compact a VHD Due to a File System Limitation


You may get the following error when attempting to compact a Hyper-V virtual hard disk (VHD):
The system failed to compact disk.vhd. Error Code: The requested operation could not be completed due to a file system limitation
This can be happen for several of reasons. 
  1. Windows Server 2008 R2 does not support hosting VHDs on compressed NTFS volumes. See the article, Virtual Hard Disk (VHD) Architecture Explained.
  2. The NTFS volume where the VHD resides is very heavily fragmented.  See Microsoft KB967351.
Both of these scenarios are fairly well explained, but I also came across another reason this can happen.  You cannot compact a VHD where the VHD contains a VSS backup.

The VHD in question was an Exchange 2010 data volume where I had run an Exchange-aware VSS backup using the native Windows Server Backup utility.  See my article, How to Backup Exchange 2010 RTM at Release Timeframe.

In order to compact the VHD, all VSS shadows must be deleted from the VHD volume within the VM.  This can be done by running the vssadmin utility, as such:
vssadmin delete shadows /all
Now you can compact the VHD to reduce the physical size of the VHD file and regain space on the Hyper-V host.

How to add a "Sign In Again" button to the Exchange 2010 OWA Sign Out page


Note: Click here to view how to add the Log On Again button to Exchange Server 2007.


By default when you click “Sign Out” in OWA 2010, Exchange 2010 directs you to a page that explains that you have successfully logged off from Outlook Web Access.  The only button available, “Close Window“, closes the existing browser window or tab.  This article explains how to add a “Sign In Again” button to the logoff.aspx page, as shown below:

To add the Sign In Again button, follow these steps on each Exchange 2010 Client Access Server (CAS):
  • Logon to the CAS using a local Administrator account.
  • Using Windows Explorer, navigate to the  %ProgramFiles%\Microsoft\Exchange Server\V14\ClientAccess\Owa\auth folder and make a copy of the logoff.aspx file for backup.
  • Edit the logoff.aspx file using Notepad.
  • Use Find to search for the word logoffclose.  In Exchange 2010 SP1 beta this will be line 123.
  • Insert the following code before this line, as a single line:
<input id=”btnCls” type=”submit” class=”btn” title=”Click here to log on again” value=”Log On Again” onclick=”window.navigate(‘https://mail.contoso.com/owa‘)” onmouseover=”this.className=’btnOnMseOvr'” onmouseout=”this.className=’btn'” onmousedown=”this.className=’btnOnMseDwn'”>
  • Edit the line above to use your company’s URL for OWA. 
  • Save the logoff.aspx file.
  • Copy the new logoff.aspx file to the same file path on all your 2010 CAS servers.
Remember that applying any Exchange 2010 Service Pack or Update Rollup to your CAS servers will overwrite the login changes you made, so create a copy of the edited logoff.aspx file to reapply the Logon Again button after the update.  Also know that Service Packs and Update Rollups could possibly include changes to the logoff.aspx page, so you may need to follow these steps again to edit the new page included in the update.

How to add a "Log On Again" button to the Exchange 2007 OWA Log Off page


Note: Click here to view how to add the Sign In Again button to Exchange Server 2010.


By default when you click “Log Off” in OWA 2007, Exchange 2007 directs you to a page that explains that you have successfully logged off from Outlook Web Access.  The only button available, “Close Window“, closes the existing browser window or tab.  This article explains how to add a “Log On Again” button to the logoff.aspx page, as shown below:

To add the Log On Again button, follow these steps on each Exchange 2007 Client Access Server (CAS):
  • Logon to the CAS using a local Administrator account.
  • Using Windows Explorer, navigate to the  %ProgramFiles%\Microsoft\Exchange Server\ClientAccess\Owa\auth folder and make a copy of the logoff.aspx file for backup.
  • Edit the logoff.aspx file using Notepad.
  • Use Find to search for the word logoffclose.  In Exchange 2007 SP2 this will be line 115.
  • Insert the following code before this line, as a single line:
<input id=”btnCls” type=”submit” class=”btn” title=”Click here to log on again” value=”Log On Again” onclick=”window.navigate(‘https://mail.contoso.com/owa‘)” onmouseover=”this.className=’btnOnMseOvr'” onmouseout=”this.className=’btn'” onmousedown=”this.className=’btnOnMseDwn'”>
  • Edit the line above to use your company’s URL for OWA. 
  • Save the logoff.aspx file.
  • Copy the new logoff.aspx file to the same file path on all your CAS servers.
Remember that applying any Exchange 2007 Service Pack or Update Rollup to your CAS servers will overwrite the changes you made, so create a copy of the edited logoff.aspx file to reapply the Logon Again button after the update.  Also know that Service Packs and Update Rollups could possibly include changes to the logoff.aspx page, so you may need to follow these steps again to edit the new page included in the update.

TechNet Wiki: The Beginning of Something Big

When I was at TechEd in New Orleans I was introduced to the new TechNet Wiki Beta site.

The TechNet Wiki is a library of information about Microsoft technologies written by the community for the community. Whether you write code, manage servers, keep mission-critical sites up and running, or just enjoy digging into details, we think you will be at home in the TechNet Wiki.

  • This is a community site. For official documentation, see MSDN Library, TechNet Library or contact Microsoft Support.
  • The Wiki is focused on Microsoft technologies. The community will edit or remove topics that get too far off track.
  • We are inspired by Wikipedia.
  • Anyone who joins can participate and contribute content.
The simplest way to participate is to use the information in this Wiki. The community is providing how-to guides, troubleshooting tips and techniques, practical usage scenarios, scripting pointers as well as overview, conceptual and technology overview topics.

I encourage you to check it out, get involved, and make your mark. Join. Help us. Contribute boldly!

Dynamic Memory and RemoteFX in Windows Server 2008 R2 SP1

When I was at TechEd in New Orleans I got a chance to talk with Vijay Tewari, Principal Program Manager for the Microsoft Virtualization Team, about Dynamic Memory in the upcoming Service Pack 1 for Windows Server 2008 R2. 

In case you’re not familiar with Dynamic Memory, this allows you to specify a minimum and maximum amount of RAM that a Hyper-V guest can use.  The VM will start with the minimum amount of RAM you sepcify and the host server will automatically reallocate additional RAM to the VM as needed, up to the maximum amount you have specified.  Dynamic Memory will also automatically reduce the RAM allocated when it is no longer needed.  Pretty sweet!  This provides higher density of VMs on a Hyper-V host since memory can be oversubscribed.  Keep in mind, though, that memory oversubscription can have a big performance impact if Hyper-V is forced to page RAM out to the pagefile.  Still, this has big advantages especially for VDI deployments.

The other “big thing” in Windows Server 2008 R2 SP1 is RemoteFX.  This technology came ito being when Microsoft purchased Calista Technologies in 2008.  RemoteFX allows the VMs on a Hyper-V host to access the host’s Graphics Processor Unit (GPU) for superior video output in the guest. This allows remote workers to enjoy the same rich user experience over a network as with a locally executing desktop.  Remote clients only need to support the color depth required to view the output, so you can provide advanced GPU capabilities to all your remote clients using a single GPU on the Hyper-V host.

RemoteFX is a feature that you enable on the Hyper-V host, not the VMs.  Once the RemoteFX feature has been installed a new option to enable the RemoteFX is available within the settings of the guest VM.  This means that even though you’ve enabled RemoteFX on the host, resources are only allocated for the guests you choose.

RemoteFX will require a new RDP client that supports the new capabilities, which should be available in the same release timeframe.  RemoteFX will also work with Remote Desktop Gateway deployments.  Microsoft recommends 200MB of graphics RAM per VM that uses RemoteFX.

The public beta for Windows Server 2008 R2 SP1 is expected to be released by the end of July 2010.  The same service pack is used for both Windows Server 2008 R2 and Windows 7, simplifying deployment.

New TechNet Series on the Cloud


Microsoft TechNet is kicking off a new “TechNet On:” feature series with an in-depth look at securing and deploying applications in the cloud.  You’ll find new articles and videos in three tracks:
Get the information about the cloud to help clear your head!