Exchange Server 2013

Renew Exchange Backend SSL Certificate

The Microsoft Exchange Server backend services SSL certificate occassionally expires and needs to be renewed. This certificate is not signed by a third party trusted signing authority and is generated locally.

The renewal process is pretty simple. Launch the Exchange PowerShell with administrative rights

Once the PS session has loaded, we need to list all the certificates with the Subject containing CN=Microsoft Exchange.

Get-ExchangeCertificate | Where-Object {$_.Subject -eq "CN=Microsoft Exchange"}

Locate the thumbprint and use it in the next command:

Get-ExchangeCertificate -Thumbprint "<Old_Thumbprint>" | New-ExchangeCertificate -Force -PrivateKeyExportable $true

Rerun the first command and now you should see an additional certificate listed

Now return to IIS and edit the bindings of the Exchange BackEnd site

In the SSL certificate dropdown, the currently selected certificate will still be the old certificate.

Select the other certificate from the list with the same name: Microsoft Exchange

Once selected, click View to confirm this is the newly generated certificate by checking the validity period

Click OK and restart the BackEnd site

 

 

 

Exchange On-Premise – Handy Commands

Some handy commands for Microsoft Exchange Server on-premise – a growing list…

List all mailboxes across all databases:

Get-Mailbox

This doens’t include system & arbitration mailboxes.

 

List all arbitration mailboxes across all databases:

Get-Mailbox -Arbitration

This doesn’t include user or resource mailboxes.

 

List all mailbox databases:

Get-MailboxDatabase

 

Move a single mailbox to another mailbox database:

New-MoveRequest -TargetDatabase <databaseName> -Identity <mailboxID>

Notes:

  • The mailbox identity can be in quote marks
  • The mailbox identity can be one of the following:
    • GUID
    • Distinguished name (DN)
    • Domain\Account
    • User principal name (UPN)
    • LegacyExchangeDN
    • SMTP address
    • Alias

 

Get the current status of all mailbox move requests:

Get-MoveRequest -ResultSize Unlimited | Get-MoveRequestStatistics

 

Get the current status of a single mailbox move request:

Get-MoveRequest -Identity "john.doe@example.com" | Get-MoveRequestStatistics

 

Remove completed mailbox move requests:

Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest -Confirm:$false

 

Resume all suspended mailbox move requests:

Get-MoveRequest -MoveStatus Suspended | Resume-MoveRequest

 

 

Can’t activate Exchange Server – Use this Exchange Powershell command to activate your Exchange Server

I recently had an issue where through ECP I was unable to activate a new Exchange server 2019 I was building. I believe my issue may have been I was logged into the ECP of an older Exchange (2016) server as the 2019 server’s ECP wasn’t yet accessible.

In any case, you can use this command to activate Exchange servers from the Exchange Powershell:

Set-ExchangeServer -Identity MyNewExchangeServer -ProductKey 12345-12345-12345-12345-12345

Once this has been successfully issued, you will need to restart the Microsoft Exchange Information Store service.