I have read a number of documents online regarding the installation of Exchange 2010 SP2 where most are quite comprehensive however they lack in clear explanation of what to do in a single server environment. Below are the steps I used to install Exchange 2010 SP2 on an Exchange 2010 SP1 UR4 single server environment that also had Forefront for Exchange installed.
Before we begin I must say this entire setup process is using the Command Line Interface. Its a very basic setup so don’t be scared of doing things using the command line.
Get the SP2 install file from here:
First off I collect information about my site that may be valuable later on.
Exchange Version – in PowerShell i run the following command:
Get-ExchangeServer | select name,admindisplayversion | ft
And the output will look like this:
Schema Version – Using DSQuery check the version of your Schema (change the domain from contoso.local to your domain details.
dsquery * "CN=Microsoft Exchange System Objects,DC=CONTOSO,DC=LOCAL" -scope base -attr objectVersion
dsquery * "CN=ms-Exch-Schema-Version-Pt,CN=Schema,CN=Configuration,DC=CONTOSO,DC=LOCAL" -scope base -attr rangeUpper
And the output will look like this before the upgrade:
Post schema update shows the following output:
NOTE: The different RangeUpper versions.
It is recommended to do the following backups of your enviroment before the upgrade:
- Active Directory backup before the schema update. Should you have to revert back because the installation corrupts your Active Directory you can do so. This i personally didn’t bother doing (aside from our nightly backups) as the chance of the installation failing is quite minimal. The bigger problem is installing the schema updates and realising there are other dependant systems that have problems with it, in which case its too late because schema updates cant be reversed.
- Exchange Server System State backup
- Exchange Server database backup
- Exchange Server OWA custom pages
AD SCHEMA updating
The AD schema gets updated through the GUI setup process automatically however you then need to confirm that replication to your domain controllers was successful. In my environment I wanted to update the schema beforehand (3 days earlier) and verify that the schema did successfully update to all Domain Controllers. This was one less change to occur on the upgrade day so less things to worry about.
The steps below are based on the following conditions:
- Enterprise Administrator account was used
- Command was run from a x64 bit machine that is on the same domain as the schema master (in our case we only have a single domain)
The steps I followed were:
From the Exchange server I opened a command prompt as administrator and ran the following commands:
This temporarily maps a network drive to the installation location, in my case a different server. Obviously you could navigate to a local drive if that is where your source files live.
From here I run the following command:
And the output will look like the below screenshot:
Another prerequisite is to have IIS 6 WMI Compatibility installed on all CAS servers, in my case this was my only Exchange server. To install it I simply used PowerShell on the Exchange 2010 server:
This part is the easy part. It will require an outage of about 1 hour including testing and the following procedure is what we followed:
- Reboot Exchange server
- Disable Forefront Protection for Exchange using the following command
Visual Basic12cd "%programfiles(x86)%\Microsoft Forefront Protection for Exchange Server"FSCutility.exe /disable
You will have an error stating some services are still running. To stop them type the following:Visual Basic1NET STOP FSCCONTROLLER
Press Y to disable dependant servicesVisual Basic1Y
Try to disable ForeFront againVisual Basic1FSCutility.exe /disable
- Test basic mail functionality (refer notes below)
- Install Exchange 2010 SP2 update using the following command
Visual Basic12pushd "\\server\share\microsoft\exchange2010\sp2source"SETUP /m:upgrade
- Reboot the server. The setup does not require it however its always a good idea to do so.
- Test basic mail functionality (refer notes below)
- Check versions of Exchange/Schema to make sure everything is correctly installed
- Enable Forefront Protection for Exchange using the following command
Visual Basic12cd "%programfiles(x86)%\Microsoft Forefront Protection for Exchange Server"FSCutility.exe /enable
You will have an error stating some services are still running. To stop them type the following:Visual Basic12NET STOP MSExchangeTransportNET STOP MSExchangeIS
Try to enable ForeFront againVisual Basic1FSCutility.exe /enableVisual Basic12NET START MSExchangeTransportNET START MSExchangeIS
- Monitor event logs regarding Exchange Server
Post Installation Tasks
I had to make the following changes to IIS after the installation of SP2 as the settings were set to defaults:
- Open IIS Manager > Select ‘Default Web Site’ > Double click ‘HTTP Redirect’
- Check ‘Redirect requests to this destination’ and type the following URL:
If you internal and external URL are the same: https://webmail.contoso.com/owa
If you internal and external URL differ: /owa
- Check ‘Only redirect requests to content in this directory (not subdirectories)’ and leave the Status code as ‘Found (302)’.
- Click on Apply on right hand side.
- For the below Virtual Directories please undo the set setting just applied by un-checking the HTTP Redirect setting. Be sure to click apply for each Virtual Directory.
- Please verify that the below Virtaul Directories still have HTTP Redirect to /owa enabled on them:
- Open IIS Manager > Select ‘Default Web Site’ > Double click ‘SSL Settings’
- Un-check ‘Require SSL’ and click Apply.
This will allow users who type in http://webmail.contoso.com to be redirected to https://webmail.contoso.com/owa instead of getting a 403 Accessed Denied error.
Although I have abandoned customised login and logout pages, it is something you will have to recreate/replace when doing the upgrade. Due to this step i have abandoned customising these pages.
Basic Exchange Test scripts
Here are the basic Exchange test scripts that I follow when I make changes in my relatively small environment: (300 users/1 server/500gb databases)
- Issues That Are Fixed in Exchange 2010 SP2
- Prepare Active Directory and Domains
- Upgrading Exchange 2010 SP1 To SP2
- Upgrading Exchange Server 2010 SP1 to SP2
- Disabling or enabling the product by using the FSC utility