question

OrinEisenhauer-7735 avatar image
0 Votes"
OrinEisenhauer-7735 asked KaelYao-MSFT commented

Errors installing Exchange 2016

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]: /answers/storage/attachments/81176-exchange-2007-anti-spam.jpg 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.NewExchangeVirtualDirectory`1.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.NewExchangeVirtualDirectory`1.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.

office-exchange-server-administration
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

KaelYao-MSFT avatar image
0 Votes"
KaelYao-MSFT answered KaelYao-MSFT commented

Hi, @OrinEisenhauer-7735

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.

· 5
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

That did not fix my issue however it did point me to looking in the schema and finding this article https://docs.microsoft.com/en-us/previous-versions/office/exchange-server-2007/bb288905(v=exchg.80)?redirectedfrom=MSDN on how to remove the last legacy Exchange server and the Recipient Update Service (Enterprise Configuration) by using by using ADSI Edit (AdsiEdit.msc):

Open ADSI Edit, expand Configuration, expand CN=Configuration,CN=<domain>, expand CN=Services, expand CN=Microsoft Exchange, expand CN=<Exchange organization name>, expand CN=Address Lists Container, and then select CN=Recipient Update Services.

In the result pane, right-click Recipient Update Service (Enterprise Configuration), click Delete, and then click Yes to confirm the deletion.

I am no longer getting the error about 2007 so I am past that.

Still failing on installing the transport role but now with a different error.


0 Votes 0 ·

Hi,

Would you please post the new error message?
There may be a chance for us to give some suggestions on it.

0 Votes 0 ·

Sorry the end of my last post got cut off.

This is the latest error:
"System.ArgumentException: The virtual directory 'PowerShell' already exists under '<servername>/Default Web Site'.

0 Votes 0 ·

Hi,
Sorry I missed the first 2007 error in your main post.
Glad to hear that you have found the solution.

In my former post, I focused on the The virtual directory 'PowerShell' already exists under '<servername>/Default Web Site' error.
Please try the suggestions and see if it can help with this problem.

0 Votes 0 ·

Hi, @OrinEisenhauer-7735

I am writing here to confirm with you how thing going now?
Did the issue get resolved?

0 Votes 0 ·