Upgrading Exchange 2013 CU10 to CU20

My Exchange 2013 is running CU 10 which is unsupported build. I have started testing to bring up to the latest build. It has to go through a multi-step upgrade process since upgrading to CU20 is unsupported because of the .NET version requirement.  To get to the latest build, the following steps must be followed:

  1. Upgrade to Exchange 2013 CU15
  2. Upgrade .NET Framework to 4.6.2
  3. Upgrade to Exchange 2013 CU20
  4. Upgrade .NET Framework to 4.71. – this is required if you want to install CU after June 2018.

Through this blog, I will documenting the errors that I encounter in the process as well as the resolutions.

 

After upgrading from CU10 to CU15, the following error was logged and client could connect to Exchange server.

Error:
Log Name:      Application
Source:        MSExchange ADAccess
Event ID:      4027
Task Category: General
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      CONTOSO-EXCH.contoso.com
Description:
Process w3wp.exe (FE_Owa) (PID=3060). WCF request (Get Servers for contoso.com) to the Microsoft Exchange Active Directory Topology service on server (TopologyClientTcpEndpoint (localhost)) failed. Make sure that the service is running. In addition, make sure that the network ports that are used by Microsoft Exchange Active Directory Topology service are not blocked by a firewall. The WCF call was retried 3 time(s). Error Details
System.ServiceModel.EndpointNotFoundException: Could not connect to net.tcp://localhost:890/Microsoft.Exchange.Directory.TopologyService. The connection attempt lasted for a time span of 00:00:02.0007536. TCP error code 10061: No connection could be made because the target machine actively refused it 127.0.0.1:890.  —> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:890

Resolution: Enable IPv6

 

Following error was logged after upgrading to .NET 4.6.2 (after the CU10 to CU15 upgrade)

Error:

Log Name:      Application
Source:        MSExchange Common
Date:          4/24/2018 1:36:18 PM
Event ID:      106
Task Category: General
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      CONTOSO-EXCH.contoso.com
Description:
Performance counter updating error. Counter name is Current Requests Pending, category name is MSExchange LiveIdBasicAuthentication. Optional code: 2. Exception: The exception thrown is : System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
at System.Diagnostics.PerformanceCounter.InitializeImpl()
at System.Diagnostics.PerformanceCounter.get_RawValue()
at Microsoft.Exchange.Diagnostics.ExPerformanceCounter.get_RawValue()
Last worker process info : Last worker process info not available!
Processes running while Performance counter failed to update:
984 svchost
7484 dllhost
13984 scanningprocess

Resolution:

create a PowerShell Script with the following :

Add-PSSnapin Microsoft.Exchange.Management.Powershell.Setup
$perfcounters = Get-ChildItem “$env:ExchangeInstallPath\Setup\Perf\” *.xml | where-object {!($_.psiscontainer)}
$perfcount = $perfcounters.count

foreach ($perfcounter in $perfcounters){
New-PerfCounters -DefinitionFilename $perfcounter.FullName -ErrorAction SilentlyContinue}

courtesy :Jeff Guillet@ http://www.expta.com/2016/11/fix-for-performance-counter-updating.html