Recreate Exchange 2013 Health Mailboxes

How to recreate health mailboxes in Exchange 2013?

A new type of mailbox that is available in Exchange 2013 is the health mailbox and is used for monitoring the server itself.

Running Get-Mailbox –Monitoring will list all the health mailboxes in your 2013 organization.

Get health mailboxes

There will be two health mailboxes created for every mailbox database – one is used for mailbox and the other for public folder.

I had to recreate these mailboxes for fixing the issue of health manager service not starting automatically. So, how to get the job done?

The health mailboxes account will be listed in ADDomain.Local/Microsoft Exchange System Objects/Monitoring Mailboxes. In my case it is HOWLYNCWORKS.LAB/Microsoft Exchange System Objects/Monitoring Mailboxes.

Health mailbox location in AD

Select all accounts and delete them!

Delete health mailbox AD accounts

Restart the Exchange Health Manager service or the server itself. The service will recreate the health mailboxes it requires (give it a minute). If you have more than one mailbox server and you deleted all health mailbox accounts from AD, restart the same service on all the mailbox servers for it to be re-created.

And yes, the health mailboxes are back.

Health mailbox recreated 

But no, they don’t have the same name as the deleted ones ;)

Rajith

Rajith Enchiparambil

Cloud Architect & Blogger with interests in Microsoft 365, AWS & Azure. I am active on Experts Exchange & TechNet forums and I am a technical author for SearchExchange. Follow me on TwitterLinkedIn or Facebook for the latest updates. For consultancy opportunities, drop me a line.

20 thoughts on “Recreate Exchange 2013 Health Mailboxes”

  1. Hi,
    I’m not sure if your guidance is related to certain Exchange 2013 build, but mine CU2 version does not recreated mailboxes even I restarted the server.
    After restart Health service was not running, I should start it manually, but since that time stil running.
    Is there any other way how to recreate health mailboxes?

    Reply
    • HI Michael,

      It looks like a bug and re-creating the health mailboxes was the workaround. Looks like more and more people are having the issue. Hopefully MS will fix it soon!

      Reply
  2. When you say “setup /p” did the job recreating the mailboxes are you referring to this?

    C:\Program Files\Microsoft\Exchange Server\V15\Bin\setup.exe /p

    Reply
  3. I upgraded to CU6 a couple of weeks ago and I just happened to look in the health mailboxes OU and there are 40 objects in there. I know I can delete them and restart the service, but I’m curious as to why so many are there in the first place. Thoughts?

    Reply
  4. If I have a EWSCtpMonitor Unhealthy due to EWSCtpProbe authentication failure (401 Unauthorized), would recreating the health mailboxes correct this?

    Reply
  5. Recently recreated the health mailboxes and now MS System Center Operations Manager (SCOM) is going crazy with alerts. It looks like SCOM still wants to use the old health mailboxes that are no longer there. Is there some additional step that needs to be taken before the recreated health mailboxes are recognized as *the* health mailboxes?

    Reply
  6. Dear All,

    I need that all the valuable idea of everyone.

    What ı want to do , we have been using exchange server 2013 with cu7 in our organization. So my question is , we’d like to delete all the healthy mailbox and the healthy mailbox should’t have been re-created again.

    İf it’s possible can you let me understand that the healtly mailbox might delete forever or not .

    Thanks for your efforts to inform me about the topic.

    Regards,

    Reply
  7. I dont even have monitoring mailboxes container in my on exchange (did select advance in view)
    I try to run setup.exe /preparead /IAccept……….. but it fails when gets to Organization Preparation at 46%

    elcome to Microsoft Exchange Server 2013 Cumulative Update 9 Unattended Setup
    ou need to accept the license terms to install Microsoft Exchange Server 2013. To read the license agreement, visit htt
    ://go.microsoft.com/fwlink/p/?LinkId=150127. To accept the license agreement, add the /IAcceptExchangeServerLicenseTerm
    parameter to the command you’re running. For more information, run setup /?.
    PS] C:\Windows\system32>setup.exe /preparead /IAcceptExchangeServerLicenseTerms

    elcome to Microsoft Exchange Server 2013 Cumulative Update 9 Unattended Setup

    erforming Microsoft Exchange Server Prerequisite Check

    Prerequisite Analysis COMPLETED

    onfiguring Microsoft Exchange Server

    Organization Preparation FAILED
    The following error was generated when “$error.Clear();
    #
    # O15# 2844081 – Create PartnerApplication “Exchange Online” in DC and On-Premise
    #
    $exch = [Microsoft.Exchange.Data.Directory.SystemConfiguration.WellknownPartnerApplicationIdentifiers]::Exch
    nge;
    $exchApp = Get-PartnerApplication $exch -ErrorAction SilentlyContinue -DomainController $RoleDomainControlle
    | Where { $_.UseAuthServer };
    if ($exchApp -eq $null)
    {
    $exchAppName = “Exchange Online”;
    $exchApp = New-PartnerApplication -Name $exchAppName -ApplicationIdentifier $exch -Enabled $RoleIsDatace
    ter -AcceptSecurityIdentifierInformation $false -DomainController $RoleDomainController;
    }

    # Create application account for Exchange
    $appAccountName = $exchApp.Name + “-ApplicationAccount”;
    $appAccount = Get-LinkedUser -Identity $appAccountName -ErrorAction SilentlyContinue -DomainController $Role
    omainController;
    if ($appAccount -eq $null)
    {
    $appAccountUpn = $appAccountName.Replace(” “, “_”) + “@” + $RoleFullyQualifiedDomainName;
    $appAccount = New-LinkedUser -Name $appAccountName -UserPrincipalName $appAccountUpn -DomainController $
    oleDomainController;
    Set-PartnerApplication -Identity $exchApp.Identity -LinkedAccount $appAccount.Identity -DomainController
    $RoleDomainController;
    }

    foreach ($roleName in (“UserApplication”, “ArchiveApplication”, “LegalHoldApplication”, “Mailbox Search”, “T
    amMailboxLifecycleApplication”, “MailboxSearchApplication”))
    {
    $roleIdentity = Get-ManagementRole $roleName -DomainController $RoleDomainController;
    $roleAssignment = Get-ManagementRoleAssignment -Role $roleIdentity.Identity -RoleAssignee $appAccount.Id
    ntity -DomainController $RoleDomainController;
    if ($roleAssignment -eq $null)
    {
    New-ManagementRoleAssignment -Role $roleName -User $appAccount.Identity -DomainController $RoleDomai
    Controller;
    }
    }
    ” was run: “Microsoft.Exchange.Data.Directory.ADObjectAlreadyExistsException: Active Directory operation failed
    n MY DOMAIN NAME. The object ‘CN=Exchange Online-ApplicationAccount,CN=Users,MY DOMAIN NAME’ already exists
    —> System.DirectoryServices.Protocols.DirectoryOperationException: The object exists.
    at System.DirectoryServices.Protocols.LdapConnection.ConstructResponse(Int32 messageId, LdapOperation operation, Resu
    tAll resultType, TimeSpan requestTimeOut, Boolean exceptionOnTimeOut)
    at System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest request, TimeSpan requestTimeout)
    at Microsoft.Exchange.Data.Directory.PooledLdapConnection.SendRequest(DirectoryRequest request, LdapOperation ldapOpe
    ation, Nullable`1 clientSideSearchTimeout, IActivityScope activityScope, String callerInfo)
    at Microsoft.Exchange.Data.Directory.ADDataSession.ExecuteModificationRequest(ADObject entry, DirectoryRequest reques
    , ADObjectId originalId, Boolean emptyObjectSessionOnException, Boolean isSync)
    — End of inner exception stack trace —
    at Microsoft.Exchange.Data.Directory.ADDataSession.AnalyzeDirectoryError(PooledLdapConnection connection, DirectoryRe
    uest request, DirectoryException de, Int32 totalRetries, Int32 retriesOnServer)
    at Microsoft.Exchange.Data.Directory.ADDataSession.ExecuteModificationRequest(ADObject entry, DirectoryRequest reques
    , ADObjectId originalId, Boolean emptyObjectSessionOnException, Boolean isSync)
    at Microsoft.Exchange.Data.Directory.ADDataSession.ExecuteModificationRequest(ADObject entry, DirectoryRequest reques
    , ADObjectId originalId, Boolean emptyObjectSessionOnException)
    at Microsoft.Exchange.Data.Directory.ADDataSession.Save(ADObject instanceToSave, IEnumerable`1 properties, Boolean by
    assValidation)
    at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientObjectSession.Save(ADRecipient instanceToSave)
    at Microsoft.Exchange.Configuration.Tasks.SetTaskBase`1.InternalProcessRecord()
    at Microsoft.Exchange.Configuration.Tasks.NewTaskBase`1.InternalProcessRecord()
    at Microsoft.Exchange.Configuration.Tasks.NewADTaskBase`1.InternalProcessRecord()
    at Microsoft.Exchange.Configuration.Tasks.Task.b__b()
    at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePip
    lineIfFailed)”.

    he Exchange Server setup operation didn’t complete. More details can be found in ExchangeSetup.log located in the
    SystemDrive>:\ExchangeSetupLogs folder.
    PS] C:\Windows\system32>

    Need HELP please

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.