Categories: Exchange

Exchange 2013 Upgrade – Service ‘WMSVC’ failed to reach status ‘Running’ on this server

One of the quarterly tasks that every Exchange administrator should do is to install new Cumulative Update for their Exchange 2013 server. While most of the time such upgrades are painless sometimes you reach a problem.  In our case Microsoft.Exchange.Configuration.Tasks.ServiceDidNotReachStatusException: Service ‘WMSVC' failed to reach status ‘Running' on this server. was enough to stop us for even trying an upgrade.

Problem description

During Readiness Checks for Microsoft Exchange Server 2013 Cumulative Update 9 (CU9) installator decided that it cannot start a service.

 

Full error message looks like below:

The following error was generated when “$error.Clear();

          $keyPath = “HKLM:\Software\Microsoft\WebManagement\Server”;

          if (!(Get-Item $keyPath -ErrorAction SilentlyContinue))

          {

            New-Item $keyPath -Force

          }

          Set-ItemProperty -path $keyPath -name “EnableRemoteManagement” -value 0x1 -Type DWORD -Force;

          if (Get-Service WMSVC* | ?{$_.Name -eq ‘WMSVC'})

          {

            Set-Service WMSVC -StartupType Automatic

            Stop-SetupService -ServiceName WMSVC;

            Start-SetupService -ServiceName WMSVC

          }

        ” was run: “Microsoft.Exchange.Configuration.Tasks.ServiceDidNotReachStatusException: Service ‘WMSVC' failed to reach status ‘Running' on this server.

   at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception, ErrorCategory errorCategory, Object target, String helpUrl)

   at Microsoft.Exchange.Configuration.Tasks.Task.WriteError(Exception exception, ErrorCategory category, Object target)

   at Microsoft.Exchange.Management.Tasks.ManageSetupService.WaitForServiceStatus(ServiceController serviceController, ServiceControllerStatus status, Unlimited`1 maximumWaitTime, Boolean ignoreFailures, Boolean sendWatsonReportForHungService)

   at Microsoft.Exchange.Management.Tasks.ManageSetupService.StartService(ServiceController serviceController, Boolean ignoreServiceStartTimeout, Boolean failIfServiceNotInstalled, Unlimited`1 maximumWaitTime, String[] serviceParameters)

   at Microsoft.Exchange.Management.Tasks.ManageSetupService.StartService(String serviceName, Boolean ignoreServiceStartTimeout, Boolean failIfServiceNotInstalled, Unlimited`1 maximumWaitTime, String[] serviceParameters)

   at Microsoft.Exchange.Management.Tasks.StartSetupService.InternalProcessRecord()

   at Microsoft.Exchange.Configuration.Tasks.Task.b__b()

   at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)”.

After a quick look at services console (services.mscWeb Management Service  was indeed down.

Starting it up just brought another, a bit meaningless error

Checking Event Logs / Services shows Event ID 7024 from Service Control Manager with error message:

The Web Management Service service terminated with the following service-specific error: Unspecified error

So how to fix this error? It turns out the service requires an SSL Certificate to be available in IIS. Unfortunately one of the administrators setting up certificates wanted to have “clean” certificates Window, and since certificate in Exchange ECP looks unused there's nothing stopping you to delete it. Quick look at new installation of Exchange 2013 at certificates window shows WMSVC certificate.

And in comparison the supposedly cleaner version without the WMSVC certificate.

Even though the Assigned Services for this certificate are NONE Exchange Administrators should left this certificate as is. Fortunately if you've already deleted the certificate you can quickly fix it.

How to fix the problem

To resolve the problem, you must assign a new SSL certificate to the IIS Web Management Service.

Go to IIS – > Click on your Server -> Click on Management Service

Under SSL Certificate, select the new one. (You can use a existing certificate or recreate a new self-sign with IIS). As you can see on below screenshot it clearly states there's an error with the service.

After choosing proper SSL Certificate and clicking Apply everything goes back to normal

Service can be started

Readiness Checks go smoothly

And we're good to go!

If things didn't work

If things didn't went as smoothly you may want to go the long road, but it's a bit untested and risky territory so do it on your own risk.

Open command prompt as Administrator
dism /online /enable-feature /featurename:IIS-WebServerRole
dism /online /enable-feature /featurename:IIS-WebServerManagementTools
dism /online /enable-feature /featurename:IIS-ManagementService
Reg Add HKLM\Software\Microsoft\WebManagement\Server /V EnableRemoteManagement /T REG_DWORD /D 1

Those 4 commands essentially make sure that all IIS roles are installed properly. Then execute:
net start wmsvc
sc config wmsvc start=auto

Then open IIS Manager and do the steps from above again.

This post was last modified on March 20, 2016 12:24

Przemyslaw Klys

System Architect with over 14 years of experience in the IT field. Skilled, among others, in Active Directory, Microsoft Exchange and Office 365. Profoundly interested in PowerShell. Software geek.

Share
Published by
Przemyslaw Klys

Recent Posts

Active Directory Replication Summary to your Email or Microsoft Teams

Active Directory replication is a critical process that ensures the consistent and up-to-date state of…

1 week ago

Syncing Global Address List (GAL) to personal contacts and between Office 365 tenants with PowerShell

Hey there! Today, I wanted to introduce you to one of the small but excellent…

5 months ago

Active Directory Health Check using Microsoft Entra Connect Health Service

Active Directory (AD) is crucial in managing identities and resources within an organization. Ensuring its…

7 months ago

Seamless HTML Report Creation: Harness the Power of Markdown with PSWriteHTML PowerShell Module

In today's digital age, the ability to create compelling and informative HTML reports and documents…

8 months ago

How to Efficiently Remove Comments from Your PowerShell Script

As part of my daily development, I create lots of code that I subsequently comment…

8 months ago

Unlocking PowerShell Magic: Different Approach to Creating ‘Empty’ PSCustomObjects

Today I saw an article from Christian Ritter, "PowerShell: Creating an "empty" PSCustomObject" on X…

9 months ago