Skip to content

Check Exchange Server before running Exchange Cumulative Update

What is an excellent way to check the Exchange Server before applying an Exchange Cumulative Update? Many issues can happen when you run the Exchange Cumulative Update on the Exchange Server, leaving the Exchange Server in a failed state. It’s good to know that the Exchange Server is in good condition before running the Exchange CU setup. Let’s look at how to check Exchange Server before installing the Cumulative Update.

Exchange Server Setup Assist PowerShell script

The Exchange Server Setup Assist script helps detect common configuration issues that cause Exchange Server Cumulative Update installation issues and other issues caused by a simple configuration change within an Exchange Environment.

The SetupAssist.ps1 PowerShell script will gather the following information on the Exchange Server:

  1. Current Logged on User and SID
  2. Are you running as an Administrator
  3. Member of Domain Admins
  4. Member of Schema Admins
  5. Member of Enterprise Admins
  6. Member of Organization Management
  7. Current PowerShell Execution Policy setting
  8. Exchange Services Status
  9. Computers Container Exists
  10. Checks to see if you are missing files in the installer cache
  11. More than 1 powershell.exe process is up and running
  12. If a reboot is pending. (Add -Verbose to see where)
  13. The current AD level of readiness for CU upgrading. Displays warnings if a mismatch is detected.

Note: The script works for Exchange Server 2013/2016/2019.

Download and prepare Setup Assist PowerShell script

Download SetupAssist.ps1 PowerShell script from GitHub and place it on the Exchange Server C:\scripts folder. If you don’t have a scripts folder, create one.

Ensure that the file is unblocked to prevent errors when running the script. Read more in the article Not digitally signed error when running PowerShell script.

Run Setup Assist PowerShell script

Run PowerShell as administrator and run the script.

Note: Run the SetupAssist.ps1 PowerShell script from the Exchange Server where you want to install Exchange Cumulative Update.

C:\scripts\.\SetupAssist.ps1

It will collect all the information and display it in the PowerShell output.

Setup Assist Version 22.01.14.0319

TestName                             Result   Details
--------                             ------   -------
Exchange AD Latest Level             Failed   At Exchange 2019 CU10
Prepare AD Requirements              Failed   Schema Master:        DC01-2019.exoip.local
                                              Schema Master Domain: exoip.local
                                              Schema Master Site:   Default-First-Site-Name
                                              ---------------------------------------
                                              Local Server:         EX01-2019.exoip.local
                                              Local Server Domain:  exoip.local
                                              Local Server Site:    Default-First-Site-Name
User Administrator                   Passed   exoip\administrator S-1-5-21-288954866-3807497283-1560389301-500
Organization Management              Passed   EXOIP\Organization Management S-1-5-21-288954866-3807497283-1560389301-1104
Domain Admins                        Passed   EXOIP\Domain Admins S-1-5-21-288954866-3807497283-1560389301-512
Enterprise Admins                    Passed   EXOIP\Enterprise Admins S-1-5-21-288954866-3807497283-1560389301-519
Execution Policy                     Warning  RemoteSigned
Exchange Services                    Passed
Services Cache Files                 Passed
Computers Container Exists           Passed   DC=exoip,DC=local
DC DNS Host Name                     Passed   DC01-2019.exoip.local
Multiple Active Sync Vdirs Detected  Passed
Msi Cache File                       Passed
IIS URL Rewrite                      Passed   Installed Version 7.2.1993
Microsoft Visual C++ 2012            Passed   Visual C++ 2012 Redistributable
Microsoft Visual C++ 2013            Passed   Visual C++ 2013 Redistributable
Other Well Known Objects             Passed
Pending Reboot                       Failed   HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
Valid Home MDB                       Passed


-----Results That Didn't Pass-----


     TestName                  Details                                              ReferenceInfo
     --------                  -------                                              -------------
     Exchange AD Latest Level  At Exchange 2019 CU10                                Latest Version is Exchange 2019 CU11. More Info:
                                                                                    https://aka.ms/SA-ExchangeLatest


     Prepare AD Requirements   Schema Master:        DC01-2019.exoip.local          Run /PrepareAD from this computer
                               Schema Master Domain: exoip.local
                               Schema Master Site:   Default-First-Site-Name
                               ---------------------------------------
                               Local Server:         EX01-2019.exoip.local
                               Local Server Domain:  exoip.local
                               Local Server Site:    Default-First-Site-Name


     Execution Policy          RemoteSigned


     Pending Reboot            HKLM:\SYSTEM\CurrentControlSet\Control\Session       https://aka.ms/SA-RebootPending
                               Manager\PendingFileRenameOperations




Setup Log Reviewer Results
--------------------------

Setup.exe Run Date: 12/12/2021 13:20:54
Setup.exe Build Number: 15.2.922.7
The most recent setup attempt completed successfully based off this line:
[12/12/2021 13:37:15.0011] [0] The Exchange Server setup operation completed successfully.

No Action is required.

The same as the above output, but in a screenshot.

Check Exchange Server before running Exchange Cumulative Update SetupAssist PowerShell script

The output shows the results:

  • Passed: You’re all set.
  • Warning: Look into it.
  • Failed: Fix them!

In our example, it shows a warning that we can ignore. But we have to fix the errors. To do that, we will:

  1. Prepare Active Directory and domains for Exchange Server
  2. Reboot the Exchange Server

After both tasks, we can install Exchange Server Cumulative Update on the Exchange Server.

Conclusion

You learned how to check Exchange Server with the SetupAssist.ps1 PowerShell script. Run the script before running Exchange Cumulative Update and fix the failed issues. You can also run the script before installing Exchange Server on a Windows Server to validate the overlooked prerequisites. It’s an excellent PowerShell script that you must have in your collection.

Did you enjoy this article? You may also like Exchange Server setup operation didn’t complete. Don’t forget to follow us and share this article.

ALI TAJRAN

ALI TAJRAN

ALI TAJRAN is a passionate IT Architect, IT Consultant, and Microsoft Certified Trainer. He started Information Technology at a very young age, and his goal is to teach and inspire others. Read more »

This Post Has 13 Comments

  1. Hi Ali,
    I ran the SetupAssist.ps1 script but it didn’t report back the Prepare AD requirements. Is there a switch I have to include to get that info? This is what I have as the output:

    User Administrator Passed taslanpour S-1-5-21-xxx
    Exchange AD Level Passed Exchange 2019 CU11 Feb23SU
    Execution Policy Warning RemoteSigned
    Exchange Services Warning
    Services Cache Files Passed
    Computers Container Exists Passed
    DC DNS Host Name Passed
    Multiple Active Sync VDirs Detected Passed
    Install Watermark Passed
    Msi Cache File Passed
    IIS URL Rewrite Passed Installed Version 7.2.1993
    UCMA Installed Passed Installed Version: 5.0.8308.0
    Microsoft Visual C++ 2012 Passed Visual C++ 2012 Redistributable
    Microsoft Visual C++ 2013 Passed Visual C++ 2013 Redistributable
    Other Well Known Objects Passed
    Pending Reboot Failed HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
    Valid Home MDB

  2. Ali, your tutorials are awesome.

    I ran into a problem. I ran the setupassistant v22.08.29.2008. I get an error for prepare AD requirements and the Valid home MDB. For the prepared AD requirements, do I run /update schema from the exchange server or another workstation? I ran it from another workstation and everything shows the AD is up to date.
    For the valid home MDB error, it says to run “Set-Mailbox “DN” -Database ‘db_Name’. For ‘db_name’, do I choose one of my databases or literally db_name”? Thanks again

  3. Hi Ali,
    Thanks for essay.we did all step then we did re-run the scripts.We did encounter with same problem.
    like the below ;
    ——– ——- ————-
    Exchange AD Latest Level
    DN Value: CN=ISTIF,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=istif,DC=local Version: 16759 Mismatch detected
    More Info: https://learn.microsoft.com/en-us/Exchange/plan-and-deploy/prepare-ad-and-domains?view=exchserver-2019
    DN Value: CN=ms-Exch-Schema-Version-Pt,CN=Schema,CN=Configuration,DC=istif,DC=local Version: 17003

    DN Value: CN=Microsoft Exchange System Objects,DC=istif,DC=local Version: 13243

    Prepare AD Requirements Schema Master: 2019ADDC.istif.local Run /PrepareAD from this computer
    Schema Master Domain: istif.local
    Schema Master Site: Default-First-Site-Name
    —————————————
    Local Server: 2019EXCH.istif.local
    Local Server Domain: istif.local
    Local Server Site: Default-First-Site-Name

    What we can do ?
    thanks again

  4. hello

    very good article, but i have one question, it doesnt work so good, with exchange in split-permissions, because in my case i have to see if the cumulative update contains schema changes or not before
    if not, i dont need to be domain admin or schema admins to install cumulative updates.
    if yes, i have to ask tier0 admin to do manual schema update for me (setup.exe)
    or?
    pierre

    1. If a separate team manages Active Directory (in your case), they have to:

      1. Extend the Active Directory schema for Exchange Server
      2. Prepare Active Directory for Exchange Server
      3. Prepare Active Directory domains for Exchange Server

      Find the above three steps in the article Prepare Active Directory and domains for Exchange Server.

      You can then run the Cumulative Update without being a member of the Schema Admins and Enterprise Admins security groups.

Leave a Reply

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