PowerShell Script to Generate Exchange Server SSL Certificate Report

In Exchange Server 2007 the Get-ExchangeCertificate cmdlet only allowed us to view the local server’s certificates. But in Exchange Server 2010 Get-ExchangeCertificate has a -Server parameter that allows us to view certificates on remote servers as well.

This means we can run a PowerShell script to collect information about the SSL certificates on all of our Exchange servers, which is useful during Exchange 2013 migration planning.

This script, Get-ExchangeCertificateReport.ps1, is executed from the Exchange Management Shell and produces a HTML report in the same folder where the script is run from.

[PS] C:\Scripts\Exchange2013Planning>.\Get-ExchangeCertificateReport.ps1
Server: BR-EX2010-MB (Mailbox, ClientAccess, HubTransport)
Server: HO-EX2010-MB1 (Mailbox, ClientAccess, HubTransport)
Server: HO-EX2010-MB2 (Mailbox, ClientAccess, HubTransport)
Server: HO-EX2010-PF (Mailbox)
Server: HO-EX2010-EDGE (Edge)


This script can be downloaded from the TechNet Script Gallery or Github. Feedback and questions are welcome in the comments below.


  1. Jacolex says

    Found one error:
    $certObj | Add-Member NoteProperty -Name “SMTP” -Value $smpt
    should be:
    $certObj | Add-Member NoteProperty -Name “SMTP” -Value $smtp

  2. says

    Hi everyone, sorry about the 404 errors. Some time in the last few days the download system has broken. I’ve replaced the link now with one that should work. Please let me know if you continue to have download problems.

  3. Nic says

    Hi Paul,

    I ran the script CertificateReport.ps1 but it did not give me the output at all. What did i do wroong. Please replied.

  4. Nic says

    —- —–
    CLRVersion 2.0.50727.5485
    BuildVersion 6.1.7601.17514
    PSVersion 2.0
    WSManStackVersion 2.0
    PSCompatibleVersions {1.0, 2.0}
    PSRemotingProtocolVersion 2.1

    -I running from desktop right now and planing to automate.
    .\CertificateReport.ps1<<<this how i ran

Leave a Reply

Your email address will not be published. Required fields are marked *