Share via

Errors installing Exchange 2016

Orin Eisenhauer 1 Reputation point
2021-03-24T13:52:57.673+00:00

I have an environment with an 2013 Exchange server and I am attempting to migrate this to a 2016 Exchange server. All of the perquisites are met and the install starts but on step 6 (mailbox role:Transport service) it fails because it is trying to install Exchange 2007 Standard Anti-spam Filter Updates.![81176-exchange-2007-anti-spam.jpg][1] [1]: /api/attachments/81176-exchange-2007-anti-spam.jpg?platform=QnA Here are the details of the error: Microsoft Exchange Server 2016 Cumulative Update 19 Unattended Setup Copying Files... File copy complete. Setup will now collect additional information needed for installation. Languages 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% MAPI over HTTP, the preferred Outlook desktop client connectivity with Exchange server, is currently not enabled. Consider enabling it using: Set-OrganizationConfig -MapiHttpEnabled $true For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.WarnMapiHttpNotEnabled.aspx Configuring Microsoft Exchange Server Preparing Setup COMPLETED Stopping Services COMPLETED Copying Exchange Files COMPLETED Language Files COMPLETED Restoring Services COMPLETED Language Configuration COMPLETED Mailbox role: Transport service 100% The following error was generated when "$error.Clear(); $feVdirName = "PowerShell (Default Web Site)"; $beVdirName = "PowerShell (Exchange Back End)"; $vdirName = "PowerShell"; $InternalPowerShellUrl="http://" + $RoleFqdnOrName + "/powershell"; $vdir = get-PowerShellVirtualDirectory -ShowMailboxVirtualDirectories -server $RoleFqdnOrName -DomainController $RoleDomainController | where { $.Name -eq $beVdirName }; if ($vdir -eq $null) { new-PowerShellVirtualDirectory $vdirName -Role Mailbox -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$true -RequireSSL:$true -WebSiteName "Exchange Back End" -Path ($RoleInstallPath + "ClientAccess\PowerShell-Proxy"); } else { update-PowerShellVirtualDirectoryVersion -DomainController $RoleDomainController; } $vdir2 = get-PowerShellVirtualDirectory -ShowMailboxVirtualDirectories -server $RoleFqdnOrName -DomainController $RoleDomainController | where { $.Name -eq $feVdirName }; if ($vdir2 -eq $null) { new-PowerShellVirtualDirectory $vdirName -Role Mailbox -InternalUrl $InternalPowerShellUrl -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$false -RequireSSL:$false -WebSiteName "Default Web Site" -AppPoolId "MSExchangePowerShellFrontEndAppPool"; } else { update-PowerShellVirtualDirectoryVersion -DomainController $RoleDomainController; } " was run: "System.ArgumentException: The virtual directory 'PowerShell' already exists under '<servername>/Exchange Back End'. Parameter name: VirtualDirectoryName at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception, ErrorCategory errorCategory, Object target, String helpUrl) at Microsoft.Exchange.Management.SystemConfigurationTasks.NewExchangeVirtualDirectory1.InternalValidate() at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1() at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)". The following error was generated when "$error.Clear(); $feVdirName = "PowerShell (Default Web Site)"; $beVdirName = "PowerShell (Exchange Back End)"; $vdirName = "PowerShell"; $InternalPowerShellUrl="http://" + $RoleFqdnOrName + "/powershell"; $vdir = get-PowerShellVirtualDirectory -ShowMailboxVirtualDirectories -server $RoleFqdnOrName -DomainController $RoleDomainController | where { $_.Name -eq $beVdirName }; if ($vdir -eq $null) { new-PowerShellVirtualDirectory $vdirName -Role Mailbox -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$true -RequireSSL:$true -WebSiteName "Exchange Back End" -Path ($RoleInstallPath + "ClientAccess\PowerShell-Proxy"); } else { update-PowerShellVirtualDirectoryVersion -DomainController $RoleDomainController; } $vdir2 = get-PowerShellVirtualDirectory -ShowMailboxVirtualDirectories -server $RoleFqdnOrName -DomainController $RoleDomainController | where { $_.Name -eq $feVdirName }; if ($vdir2 -eq $null) { new-PowerShellVirtualDirectory $vdirName -Role Mailbox -InternalUrl $InternalPowerShellUrl -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$false -RequireSSL:$false -WebSiteName "Default Web Site" -AppPoolId "MSExchangePowerShellFrontEndAppPool"; } else { update-PowerShellVirtualDirectoryVersion -DomainController $RoleDomainController; } " was run: "System.ArgumentException: The virtual directory 'PowerShell' already exists under '<servername>/Default Web Site'. Parameter name: VirtualDirectoryName at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception, ErrorCategory errorCategory, Object target, String helpUrl) at Microsoft.Exchange.Management.SystemConfigurationTasks.NewExchangeVirtualDirectory1.InternalValidate() at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1() at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)". The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder.

Exchange | Exchange Server | Management
Exchange | Exchange Server | Management

The administration and maintenance of Microsoft Exchange Server to ensure secure, reliable, and efficient email and collaboration services across an organization.

0 comments No comments

1 answer

Sort by: Most helpful
  1. Kai Yao 37,791 Reputation points Moderator
    2021-03-25T03:59:56.677+00:00

    Hi, @Orin Eisenhauer

    Since this forum is public, I have modified the question to cover the FQDN of your Exchange server.
    For security reasons, please don't forget to hide your personal information in the post.

    Thanks for your understanding!


    According to the log, the error messages are:
    The virtual directory 'PowerShell' already exists under '<servername>/Exchange Back End'.
    The virtual directory 'PowerShell' already exists under '<servername>/Default Web Site'.

    Please open ADSIEdit and connect to Configuration.
    Locate CN=Configuration,DC="your domain",DC=com>CN=Services>CN=Microsoft Exchange>CN="Organization name">CN=Administrative Groups>CN=Exchange Administrative Groups>CN=Servers>CN="This Exchange 2016 server name">CN=Protocols>CN=HTTP

    Delete the "CN=Powershell (Default Web Site)" and "CN=Powershell (Exchange Back End)" in it.
    And rerun the setup.

    Please note that: Using ADSIEdit is dangerous and can cause serious problems to your environment if not performed correctly.
    Please make sure to have a full backup of your AD and Exchange servers in case something goes wrong.


    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.