Skip to content

Exchange Server setup operation didn’t complete

You must update Exchange Server to a newer CU build to get the latest security fixes and changes. In our example, we are updating Exchange Server 2016 CU17 to Exchange Server 2016 CU18. After running the setup, an error shows up that the prerequisite analysis FAILED. Why did the Exchange Server setup fails, and how to solve the Exchange Server setup operation didn’t complete error?

Information

Before we start, it’s good to know we have a multidomain Active Directory forest. There are two options to install Exchange Server Cumulative Update:

  • Setup wizard (GUI)
  • Unattended mode (command line)

Note: If you run the setup wizard, it will prepare the schema and Active Directory automatically for you. If you want to use unattended mode, you must first prepare Active Directory and domains.

Exchange Server setup operation didn’t complete

We did download the Exchange Server CU ISO from Microsoft. After that, mount it to the Exchange Server. If we don’t, we can’t run the commands to update Exchange Server to the newer build.

At first, we did run the setup wizard (GUI), and the Exchange Server setup fails. After checking the logs, we can see that it fails at Performing Microsoft Exchange Server Prerequisite Check.

We like to see what will happen if we prepare the schema with Command Prompt. We did start the command prompt and ran the /PrepareSchema command. It shows the error Prerequisite Analysis FAILED.

C:\>E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /PrepareSchema

Microsoft Exchange Server 2016 Cumulative Update 18 Unattended Setup

Copying Files...
File copy complete. Setup will now collect additional information needed for installation.


Performing Microsoft Exchange Server Prerequisite Check

    Prerequisite Analysis                                                                             FAILED

The Active Directory schema isn't up-to-date, and this user account isn't a member of the 'Schema Admins' and/or
'Enterprise Admins' groups.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.SchemaUpdateRequired.aspx

Setup encountered a problem while validating the state of Active Directory: Exchange organization-level objects have
not been created, and setup cannot create them because the local computer is not in the same domain and site as the
schema master. Run setup with the /prepareAD parameter on a computer in the domain alitajran and site London, and wait
for replication to complete. See the Exchange setup log for more information on this error.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.AdInitErrorRule.aspx

The forest functional level of the current Active Directory forest is not Windows Server 2003 native or later. To
install Exchange Server 2016, the forest functional level must be at least Windows Server 2003 native.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.ForestLevelNotWin2003Native.aspx

Either Active Directory doesn't exist, or it can't be contacted.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.CannotAccessAD.aspx


The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the
<SystemDrive>:\ExchangeSetupLogs folder.

After running the command, the output is giving us errors.

  • Prerequisite Analysis FAILED.
  • The Active Directory schema isn’t up-to-date, and this user account isn’t a member of the ‘Schema Admins’ and/or ‘Enterprise Admins’ groups.
  • Setup encountered a problem while validating the state of Active Directory.
  • The forest functional level of the current Active Directory forest is not Windows Server 2003 native or later.
  • Either Active Directory doesn’t exist, or it can’t be contacted.
  • The Exchange Server setup operation didn’t complete. More details can be found in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder.

Why are we getting this error, and what is the solution for Exchange Server setup operation didn’t complete?

Check the prerequisites

You have to check the above notices one by one. It does not mean that all of them are wrong, maybe only one of them.

User account membership

Check that the account has the following permissions assigned in Active Directory:

  • Enterprise Admins group membership.
  • Organization Management group membership.
  • Schema Admins group membership.
Exchange Server setup operation didn't complete membership

Note: If you have multiple domains, check the account in both Active Directories.

Forest functional level

To update Exchange Server, the forest functional level of the current Active Directory needs to be Windows Server 2003 or later. Use Get-AdForest cmdlet in PowerShell to check.

PS C:\> Get-ADForest | Format-List Name,ForestMode

Name       : alitajran.local
ForestMode : Windows2008R2Forest

Domain functional level

Run Get-ADDomain cmdlet to check the domain functional level.

PS C:\> Get-ADDomain | Format-List Name,DomainMode

Name       : exoip
DomainMode : Windows2008R2Domain

FSMO roles

Check the FSMO roles. Run Command Prompt as administrator and run the netdom query fsmo command.

C:\>netdom query fsmo
Schema master               DC01.alitajran.local
Domain naming master        DC01.alitajran.local
PDC                         DC03-2016.exoip.local
RID pool manager            DC02-2016.exoip.local
Infrastructure master       DC01-2016.exoip.local
The command completed successfully.

Solution for Exchange Server setup operation didn’t complete

Now that we gathered all the information, we can tell why the error shows up, and the Exchange prerequisites failed.

It didn’t work because we did run prepare schema and prepare AD from the Exchange Server. The Exchange Server is not in the domain alitajran.local. But, it’s location is in the domain exoip.local. The prepare schema and prepare AD commands need to run on a computer that is a member of the domain and site that holds the schema master. In our example, the schema master role is installed on DC01.alitajran.local.

The solution is to run these steps:

  1. Prepare schema on a computer that is on the same domain and site as the schema master.
  2. Prepare AD on a computer that is on the same domain and site as the schema master.
  3. Install Exchange CU upgrade on Exchange Server.

Prepare schema

Sign in on a client who is running in the forest. In our example, the forest alitajran.local. Download the Exchange CU ISO or copy the files from the Exchange Server to the computer. In our example, we copied the ISO from Exchange Server EX01 to MG01. The MG01 is the management server, and it’s running in the forest alitajran.local.

Start Command Prompt and prepare schema. Confirm that it’s successfully prepared.

C:\>E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /PrepareSchema

Microsoft Exchange Server 2016 Cumulative Update 18 Unattended Setup

Copying Files...
File copy complete. Setup will now collect additional information needed for installation.


Performing Microsoft Exchange Server Prerequisite Check

    Prerequisite Analysis                                                                             COMPLETED

Configuring Microsoft Exchange Server

    Extending Active Directory schema                                                                 COMPLETED

The Exchange Server setup operation completed successfully.

Read more: Check Exchange Schema version with PowerShell »

Prepare AD

Prepare Active Directory and confirm that it’s successfully completed.

C:\>E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /PrepareAD

Microsoft Exchange Server 2016 Cumulative Update 18 Unattended Setup

Copying Files...
File copy complete. Setup will now collect additional information needed for installation.


Performing Microsoft Exchange Server Prerequisite Check

    Prerequisite Analysis                                                                             COMPLETED

Configuring Microsoft Exchange Server

    Organization Preparation                                                                          COMPLETED

The Exchange Server setup operation completed successfully.

Upgrade Exchange Server CU

The next step is to go back to the Exchange Server. Run the command to start the upgrade.

C:\>E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /Mode:Upgrade

Microsoft Exchange Server 2016 Cumulative Update 18 Unattended Setup

Copying Files...
File copy complete. Setup will now collect additional information needed for installation.

Languages
Management tools
Mailbox role: Transport service
Mailbox role: Client Access service
Mailbox role: Unified Messaging service
Mailbox role: Mailbox service
Mailbox role: Front End Transport service
Mailbox role: Client Access Front End service

Performing Microsoft Exchange Server Prerequisite Check

    Configuring Prerequisites                                                                         COMPLETED
    Prerequisite Analysis                                                                             100%

Configuring Microsoft Exchange Server

    Preparing Setup                                                                                   COMPLETED
    Stopping Services                                                                                 COMPLETED
    Language Files                                                                                    COMPLETED
    Removing Exchange Files                                                                           COMPLETED
    Preparing Files                                                                                   COMPLETED
    Copying Exchange Files                                                                            COMPLETED
    Language Files                                                                                    COMPLETED
    Restoring Services                                                                                COMPLETED
    Language Configuration                                                                            COMPLETED
    Exchange Management Tools                                                                         COMPLETED
    Mailbox role: Transport service                                                                   COMPLETED
    Mailbox role: Client Access service                                                               COMPLETED
    Mailbox role: Unified Messaging service                                                           COMPLETED
    Mailbox role: Mailbox service                                                                     COMPLETED
    Mailbox role: Front End Transport service                                                         COMPLETED
    Mailbox role: Client Access Front End service                                                     COMPLETED
    Finalizing Setup                                                                                  COMPLETED

The Exchange Server setup operation completed successfully.

We did install Exchange CU successfully. The next step is to reboot the Exchange server. After it’s up and running, we will test that the Exchange services are running and that the mail flow is working.

Keep reading: Exchange setup failed to install error code 1619 »

Conclusion

You learned why the Exchange Server setup operation didn’t complete. It’s because the prerequisites failed. In our example, the schema master was in a different domain and site.

Connect to a computer that’s in the same domain as the schema master. Run the prepare schema and Active Directory commands. Next, run Exchange Server setup on the Exchange Server. No more Exchange server setup fails error; it will install as expected.

Did you enjoy this article? You may also like Install Exchange Server with GUI step by step. 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 8 Comments

  1. In our case, issue was caused by wrong subnet on server where we were installing management tool. New subnet added to AD sites and forced replication which worked. Also used setupassist.ps1 tool from github

  2. Thank you for this article Ali, saved us a night of head-scratching trying to work out what was wrong! Second time your resources have come to the rescue.

  3. During an Exchange server decommission, it seems that at some point the process failed, even though I had no error messages. The server no longer appears in AD, I checked using ADSIEdit, but I can’t finish the uninstall. The above process almost got me back, but failed because the server is no longer in AD. Is there anything that can be done? How I get this program removed? I can give me info if needed. Any assistance is appreciated…

  4. Ali, again many thanks for all your great articles. For your various Exchange articles, may I suggest you also make a comment of using /TenantOrganizationConfig for hybrid configurations, e.g.

    Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAD “/TenantOrganizationConfig C:\Temp\MyTenantOrganizationConfig.xml” /mode:Install /r:MB

    And possibly also mention HCW for scenario where you have an on-premises e.g. EX2013 (already in hybrid config with O365) and install a fresh new EX2019 for then to e.g. bring EX2019 into existing hybrid config and remove EX2013 from hybrid config..

  5. Thanks I lot for the article
    my issue is that the /prepareAD not compleat with error

    Organization Preparation 100%
    The following error was generated when “$error.Clear();
    $createTenantRoot = ($RoleIsDatacenter -or
    $RoleIsPartnerHosted);
    $createMsoSyncRoot = $RoleIsDatacenter;

    #$RoleDatacenterIsManagementForest is set only in
    Datacenter deployment; interpret its absense as $false
    [bool]$isManagementForest = ($RoleDatacenterIsManagementForest
    -eq $true);

    if ($RolePrepareAllDomains)
    {
    initialize-DomainPermissions -AllDomains:$true
    -CreateTenantRoot:$createTenantRoot -CreateMsoSyncRoot:$createMsoSyncRoot -IsManagementForest:$isManagementForest;
    }

    elseif ($RoleDomain -ne $null)
    {
    initialize-DomainPermissions -Domain $RoleDomain -CreateTenantRoot:$createTenantRoot
    -CreateMsoSyncRoot:$createMsoSyncRoot -IsManagementForest:$isManagementForest;
    }
    else
    {

    initialize-DomainPermissions -CreateTenantRoot:$createTenantRoot -CreateMsoSyncRoot:$createMsoSyncRoot
    -IsManagementForest:$isManagementForest;
    }
    ” was run:
    “Microsoft.Exchange.Data.Directory.ADConstraintViolationException: An Active Directory Constraint Violation error
    occurred on domain.local. Additional information: The inherited access control list (ACL) or access control entry
    (ACE) could not be built.
    Active directory response: 0000053C: AtrErr: DSID-030F25EC, #1:
    0: 0000053C: DSID-030F25EC,
    problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 20119 (nTSecurityDescriptor)
    —>
    System.DirectoryServices.Protocols.DirectoryOperationException: A value in the request is invalid.
    at
    System.DirectoryServices.Protocols.LdapConnection.ConstructResponse(Int32 messageId, LdapOperation operation, ResultAll
    resultType, TimeSpan requestTimeOut, Boolean exceptionOnTimeOut)
    at
    System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest request, TimeSpan requestTimeout)
    at
    Microsoft.Exchange.Data.Directory.GuardedDirectoryExecution.Execute[T](String bucketName, Func`1 action, Int64&
    concurrency)
    at Microsoft.Exchange.Data.Directory.PooledLdapConnection.GuardedSendRequest(String forestName,
    GuardedDirectoryExecution guardedDirectoryExecution, DirectoryRequest request, TimeSpan timeout, Func`3
    sendRequestDelegate, Int64& concurrency)
    at
    Microsoft.Exchange.Data.Directory.PooledLdapConnection.SendRequest(DirectoryRequest request, LdapOperation
    ldapOperation, Nullable`1 clientSideSearchTimeout, IADLogContext logContext, Boolean shouldLogLastFilter)
    at
    Microsoft.Exchange.Data.Directory.ADDataSession.ExecuteModificationRequest(ADObject entry, DirectoryRequest request,
    ADObjectId originalId, Boolean emptyObjectSessionOnException, Boolean isSync)
    — End of inner exception stack trace

  6. Hi

    Thanks I lot for the article
    We are having the same issue but when we tried to update in DC it were asking for net framework

    Our issue child domain in exchange and it were unable to contact the dc
    In dc .net framework were not there
    Regards
    Muthu

Leave a Reply

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