Here are the steps that I have followed to upgrade my Exchange 2013 CU1 servers to CU2 v2 version
I have 1x (MBX + CAS) Server role, 2x MBX Server role and 2x CAS Server role. The order of patching is to have MBX server done first, then CAS server following after that. All the MBX servers I have are a member of the same DAG Cluster
Exchange Schema Version
Exchange 2013 CU2 is upgrading the Active Directory schema as part of the installation.
To check the existing schema version of the Exchange, run the following PowerShell script:
$root = [ADSI]"LDAP://RootDSE"
$name = "CN=ms-Exch-Schema-Version-Pt," + $root.schemaNamingContext
$value = [ADSI]( "LDAP://" + $name )
"Exchange Schema Version = $( $value.rangeUpper )"
The CU1 schema version is: 15254
I prefer to run the schema change using the Setup.exe command line rather then using the GUI.
Make sure the server that you are running the schema change is on the same site with the domain controller who holds the schema master FSMO
Make sure the account that you are using to run the schema change is a member of Enterprise Admin group
To run the schema upgrade, using the setup.exe from the extracted CU2 file:
Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
Setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms
Setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms
After the schema upgrade, the version is: 15281
Exchange Mailbox Role Upgrade
Make sure the PowerShell Script Execution Policy is set to "Unrestricted" before you are starting the upgrade process
Set-ExecutionPolicy Unrestricted
If there is another language pack of UM installed other then en-US, it must be uninstalled (for example if you have en-AU language pack installed):
Setup.exe /RemoveUMLanguagePack:en-AU
If you are using SCOM to monitor this mailbox server, put the agent under maintenance
If you have an active Mailbox database on this server, move it to another server
Drain the Hub Transport
Set-ServerComponentState <servername> -Component HubTransport -State Draining -Requester Maintenance
Redirect Message to another server
Redirect-Message -Server <servername> -Target <target-server.fqdn>
Note: target-server.fqdn MUST be FQDN
Suspend DAG Node
Suspend-ClusterNode -Name <servername>
Disable database copy activation
Set-MailboxServer <servername> -DatabaseCopyActivationDisabledAndMoveNow $true
Review the existing database copy auto activation policy
Get-MailboxServer <servername> | Select DatabaseCopyAutoActivationPolicy
Take a note of the copy auto activation policy **
Set AutoActivation policy to blocked
Set-MailboxServer <servername> -DatabaseCopyAutoActivationPolicy Blocked
Put Server in Maintenance Mode
Set-ServerComponentState <servername> -Component ServerWideOffline -State InActive -Requester Maintenance
Apply CU2 to the server
Run the setup.exe from the CU2 extracted folder
Once finished, reboot the server
Stop DAG Maintenance mode
Set-ServerComponentState <servername> -Component ServerWideOffline -State Active - Requested Maintenance
Resume DAG node
Resume-ClusterNode -Name <servername>
Set AutoActivation policy to original setting
Set-MailboxServer <servername> -DatabaseCopyAutoActivationPolicy Unrestricted (** original settings from the above command)
Enable database copy activation
Set-MailboxServer <servername> -DatabaseCopyActivationDisabledAndMoveNow $false
Put Server in Active Mode
Set-ServerComponentState <servername> -Component HubTransport - State Active -Requested Maintenance
- Re-install Language Pack if needed
- Take server out of maintenance mode in SCOM
Exchange CAS Role Upgrade
Make sure the PowerShell Script Execution Policy is set to "Unrestricted" before you are starting the upgrade process
If you are using SCOM to monitor this mailbox server, put the agent under maintenance
Apply CU2 to the server
Run the setup.exe from the CU2 extracted folder
Once finished, reboot the server
- Take server out of maintenance mode in SCOM