Managed Availability polls and analyzes hundreds of health metrics in Exchange 2013. If something is found to be wrong, most of the time it will be fixed automatically. But of course sometimes Managed Availability won’t be able to fix on its own. In those cases, Managed Availability will escalate the issue to an administrator by means of event logging, and perhaps alerting if System Center Operations Manager is used with Exchange 2013. When an administrator needs to get involved and investigate the issue, they can begin by using the Get-HealthReport and Get-ServerHealth cmdlets.
I recently encountered an issue in Exchange 2013 Sp1 wherein server health and health report was showing “unknown” and all the server components state are showing “inactive”. Though health manager service was up and running it was still not able to pull the server health report.
The moment I try to bring the server component in active state it throws the Watson error
[PS] C:\Windows\system32>Set-ServerComponentState -State active –component ServerWideOffline –requestor functional
cmdlet Set-ServerComponentState at command pipeline position 1
Supply values for the following parameters:
WARNING: An unexpected error has occurred and a Watson dump is being generated: Object reference not set to an instance of an object.
Object reference not set to an instance of an object.
+ CategoryInfo : NotSpecified: (:) [Set-ServerComponentState], NullReferenceException
+ FullyQualifiedErrorId : System.NullReferenceException,Microsoft.Exchange.Management.SystemConfigurationTasks.Set
+ PSComputerName : HEM-E2013-01.extatic.net
While troubleshooting this problem found out that due to some reason Exchange 2013 SP1 setup previously failed while performing the action "BuildToBuildUpgrade" because of that health manager service was not able to pull the reports and were showing as unknown.
We checked the regedit and found watermark key and Buildtobuildupgrade key
We took backup of registry and deleted watermark key and Buildtobuildupgrade key from MBX and HUB transport role
— Ran command setup /prepareAD /IAcceptExchangeServerLicenseTerms
— We then started setup /m:upgrade /IAcceptExchangeServerLicenseTerms
Upgrade completed successfully, post which search health report was showing healthy and all the server components where showing active. Hope the above post may help many Exchange folks facing the similar problem.