Learn Exchange the Guru way !!!


Exchange Troubleshooting Notes

Take a look at this week’s Exchange troubleshooting notes

Exchange Setup fails while preforming “Uninstall”


While decommissioning the old Exchange 2013 server it fails with the following error. You cannot uninstall or repair install ti remove Exchange server:

Setup previously failed while performing the action “Uninstall”.

You can’t resume setup by performing the action “Install”.



  • Regedit =>HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Exchange Server /(version)
  • Check the sub keys for the roles installed. ClientAccessRole => Sub-Key with value ‘Action’, this will be set to Uninstall, we have to delete this key.
  • Note : This issue occurs because when we attempt to uninstall the Exchange server the process adds some registry keys and set them to uninstall state.



Move ‘ALL’ Mailboxes from One Database to Another in Exchange 2013


When moving all mailboxes from old Exchange 2013 server to the new server, Exchange has some trouble if you try to delete a mailbox database which has data in it.


  • Launch Exchange Management Shell & run the following command:




    Get-Mailbox -Database “Source Database Name” ” -ResultSize Unlimited | New-MoveRequest -TargetDatabase “Target Database Name”


  • The Mailbox moves should then be queued, depending on the number of mailboxes we have. This process could take some time depending upon the number of mailboxes we have.


  • Once the process completes run the following command:


    Get-MoveRequestStatistics -MoveRequestQueue “Target Database Name”

  • After the above command completes run the following command:


    Get-MoveRequest | where {$_.status -eq “Completed”} | Remove-MoveRequest


  • You will have system mailboxes, Arbitration mailbox & archiving mailbox in each mailbox database. Run the below command if you have Arbitration Mailbox:


    Get-Mailbox -Database “Source Database Name” –Arbitration


    Get-Mailbox -Database “Source Database Name” –Arbitration


  • To move the Arbitration Mailbox run the following command:


    Get-Mailbox -Database “Source Database Name” -Arbitration | New-MoveRequest – TargetDatabase “Target Database Name”


    Get-Mailbox -Database “Source Database Name” -Archive | New-MoveRequest -TargetDatabase “Target Database Name”


  • We can monitor progress with the same command we used in step 3, and remove the move requests with the same command in step 4.




How to change OWA login to Username only – Exchange 2013


The process of changing the user login from domainusername to just the username is slightly different in the Exchange 2013. Let’s see how we can change it



  • Open Exchange Admin Centre => Servers=> Virtual Directories => Select OWA => click Edit.
  • Under Authentication => select the option “User name only” => Browse and select the domain=> click Save.
  • You will get a warning => click OK.
  • Go to Start => Run => type iisreset /noforce.




Managing OAB in Exchange 2013


Handling OAB (Offline Address Book) in Exchange 2013 has changed unlike the older version of Exchange. In the old version of Exchange the first server holding the mailbox was responsible for generating the OAB. In Exchange 2013 multiple servers generate the OAB & every server has a special arbitration mailbox called an organization Mailbox which creates a copy. This is better for resilience & the OAB files are located in %ExchangeInstallPath%ClientAccessOAB Location. There is one more change to the OAB in Exchange 2013 that is the way OAB is distributed. It is distributed via web & no longer through the Public Folder distribution. In the new Exchange Admin centre we do not have any options to manage the OAB, so we have to use the PowerShell.


  • Run the following command: ( If you have multiple forest change the command accordingly by specifying the name )


    Set-ADServerSettings -ViewEntireForest $true


  • Locate the OAB Generation Servers by using the following commands:


    Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like “*oab*”} | ft name,servername


    (Or if the server is a member of a DAG group, first get the database name)


    Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like “*oab*”} | ft name,database


    (Then use the following command)


    Get-MailboxDatabaseCopyStatus database-name


  • To create a new OAB for Exchange 2013:


    New-OfflineAddressBook -Name “PNL OAB” -AddressLists “Default Global Address List” -VirtualDirectories “EX1OAB (Default Web Site)”


  • To Force Exchange 2013 to Update the OAB we can restart the Microsoft Exchange Mailbox Assistance service or we can use the following command:


    Update-OfflineAddressBook “default offline address book”




Queue Viewer -Exchange 2013


In Exchange 2013 the GUI Management is changes & it’s hard to find the Queue Viewer, as it is not a part of the Exchange Admin Centre.



  • Launch the Exchange Toolbox. You will see the Queue Viewer like the previous version of Exchange.



Getting an error when launching the Exchange Management Shell after changing the Certificates ‘The WinRM Shell client cannot process the request’



After changing the certificates in the Exchange server, we get the following error when launching the Exchange Management Shell:


VERBOSE: Connecting to

New-PSSession : [] Processing data from remote server failed with the following error message: The WinRM Shell client cannot process the request. The shell handle passed to the WSMan Shell function is not valid. The shell handle is valid only when WSManCreateShell function completes successfully.

Change the request including a valid shell handle and try again. For more information, see the about_Remote_Troubleshooting Help topic.

At line:1 char:1

+ New-PSSession -ConnectionURI “$connectionUri” -ConfigurationName Microsoft.Excha …

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : OpenError: (System.Manageme….RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin


+ FullyQualifiedErrorId : -2144108212,PSSessionOpenFailed

Failed to connect to an Exchange server in the current site.

Enter the server FQDN where you want to connect.




  • Open IIS Management => check the bindings for Exchange Back End Site => HTTPS => Click Edit & select the new certificate, save the changes.


Ratish Nair

Microsoft MVP | Exchange Server

Team @MSExchangeGuru

Leave a Reply