We'll now configure the URLs (or URIs) for the Client Access role.
We can do this with the GUI or at the command line. I'll have to become more familiar with the Exchange 2015 Exchange Admin Center (EAC) sooner or later but for now, I'll just use the EMS (which is similar to what it was in Exchange 2007 and 2010).
AUTODISCOVER
I'll start with autodiscover.
Here's a revealation: there is no need to configure the internal - or even external URL.
Why not? Because Exchange does not use them.
Busting The Set-AutodiscoverVirtualDirectory Myth
On the other hand, we should configure the "AutoDiscoverServiceInternalUri". Yes, that is URI (i) versus URL (l).
I'll use the following command to see the value on the Exchange 2007 server and then configure the same value on the Exchange 2015 server:
Get-Clientaccessserver | select Identity,AutoDiscoverServiceInternalUri | fl
Identity : ex1
AutoDiscoverServiceInternalUri : https://mail.mitserv.net/autodiscover/autodiscover.xml
Identity : EX13-1
AutoDiscoverServiceInternalUri : https://ex13-1.mynet.lan/Autodiscover/Autodiscover.xml
Note: remember, EX1 is the Exchange 2007 server.
So we use the domain name rather than the server FQDN (mail.mitserv.net rather than ex13-1.mynet.lan).
I'll copy the URI for EX1 and paste it into the cmdlet that configures the setting for EX13-1:
Set-Clientaccessserver EX13-1 -AutoDiscoverServiceInternalUri https://mail.mitserv.net/autodiscover/autodiscover.xml
Now we have this:
Get-Clientaccessserver | select Identity,AutoDiscoverServiceInternalUri | fl
Identity : ex1
AutoDiscoverServiceInternalUri : https://mail.mitserv.net/autodiscover/autodiscover.xml
Identity : EX13-1
AutoDiscoverServiceInternalUri : https://mail.mitserv.net/autodiscover/autodiscover.xml
OWA (Outlook Web App - formerly "Access")
Get-OwaVirtualDirectory "EX1\owa (default web site)" | fl identity,*ternalurl
Identity : ex1\owa (Default Web Site)
InternalUrl : https://mail.mitserv.net/owa
ExternalUrl : https://mail.mitserv.net/owa
Note: we can "get" the OWA virtual directory and then "pipe" the result to the "set" cmdlet as I have done below. We could also use the "set" cmdlet directly.
Get-OwaVirtualDirectory "EX13-1\owa (default web site)" | Set-OWAVirtualDirectory -InternalURL https://mail.mitserv.net/owa
WARNING: You've changed the InternalURL or ExternalURL for the OWA virtual directory. Please make the same change for the ECP virtual directory in the same website.
Get-OwaVirtualDirectory "EX13-1\owa (default web site)" | Set-OWAVirtualDirectory -ExternalURL https://mail.mitserv.net/owa
WARNING: You've changed the InternalURL or ExternalURL for the OWA virtual directory. Please make the same change for the ECP virtual directory in the same website.
Heeding the warnings above, let's make the same change for ECP (unlike with Exchange 2010, the ECP virtual directory in Exchange 2015 opens the EAC - Exchange Admin Console). There is no ECP virtual directory in Exchange 2007, so we'll just use the URL from above, replacing "owa" with "ecp".
Get-EcpVirtualDirectory "ecp (Default Web Site)" | Set-EcpVirtualDirectory -InternalURL https://mail.mitserv.net/ecp
Get-EcpVirtualDirectory "ecp (Default Web Site)" | Set-EcpVirtualDirectory -ExternalURL https://mail.mitserv.net/ecp
This should produce the following result:
Get-OwaVirtualDirectory "owa (default web site)" | fl *ternalurl
InternalUrl : https://mail.mitserv.net/owa
ExternalUrl : https://mail.mitserv.net/owa
Get-EcpVirtualDirectory | fl *url
InternalUrl : https://mail.mitserv.net/ecp
ExternalUrl : https://mail.mitserv.net/ecp
OAB (Offline Address Book)
Here is the existing configuration of the OAB virtual directories:
Get-OabVirtualDirectory | fl identity,*url
Identity : ex1\OAB (Default Web Site)
InternalUrl : http://mail.mitserv.net/OAB
ExternalUrl : http://mail.mitserv.net/OAB
Identity : EX13-1\OAB (Default Web Site)
InternalUrl : https://ex13-1.mynet.lan/OAB
ExternalUrl :
Of course, we only need to change them on EX13-1.
As with the other virtual directories, we can do it this way:
Get-OabVirtualDirectory -id "EX13-1\OAB (Default Web Site)" | Set-OabVirtualDirectory -InternalUrl http://mail.mitserv.net/OAB
Or directly with the Set cmdlet:
Set-OabVirtualDirectory -id "EX13-1\OAB (Default Web Site)" -InternalUrl http://mail.mitserv.net/OAB
And likewise for the external URL:
Set-OabVirtualDirectory -id "EX13-1\OAB (Default Web Site)" -ExternalUrl http://mail.mitserv.net/OAB
Note: remember to use quotes around the complete virtual directory name or else we will encounter an error message like this:
[PS] C:\>Get-OabVirtualDirectory -id EX13-1\OAB (Default Web Site)
Default : The term 'Default' is not recognized as the name of a cmdlet, function, script file, or operable program.
ActiveSync
Get-ActiveSyncVirtualDirectory | fl server,*ternalurl
Server : ex1
InternalUrl : https://mail.mitserv.net/Microsoft-Server-ActiveSync
ExternalUrl : https://mail.mitserv.net/Microsoft-Server-ActiveSync
Server : EX13-1
InternalUrl : https://ex13-1.mynet.lan/Microsoft-Server-ActiveSync
ExternalUrl :
Set-ActiveSyncVirtualDirectory EX13-1\"Microsoft-Server-ActiveSync (Default Web Site)" -InternalUrl https://mail.mitserv.net/Microsoft-Server-ActiveSync
Set-ActiveSyncVirtualDirectory EX13-1\"Microsoft-Server-ActiveSync (Default Web Site)" -ExternalUrl https://mail.mitserv.net/Microsoft-Server-ActiveSync
Get-ActiveSyncVirtualDirectory | fl server,*ternalurl
Server : ex1
InternalUrl : https://mail.mitserv.net/Microsoft-Server-ActiveSync
ExternalUrl : https://mail.mitserv.net/Microsoft-Server-ActiveSync
Server : EX13-1
InternalUrl : https://mail.mitserv.net/Microsoft-Server-ActiveSync
ExternalUrl : https://mail.mitserv.net/Microsoft-Server-ActiveSync
Exchange Web Services
(for free/busy, calendar functions)
Get-WebServicesVirtualDirectory | fl identity,*ternalurl
Identity : ex1\EWS (Default Web Site)
InternalUrl : https://mail.mitserv.net/EWS/Exchange.asmx
ExternalUrl : https://mail.mitserv.net/EWS/Exchange.asmx
Identity : EX13-1\EWS (Default Web Site)
InternalUrl : https://ex13-1.mynet.lan/EWS/Exchange.asmx
ExternalUrl :
C:\>Set-WebServicesVirtualDirectory "EX13-1\EWS (Default Web Site)" -InternalUrl https://mail.mitserv.net/EWS/Exchange.asmx
Set-WebServicesVirtualDirectory "EX13-1\EWS (Default Web Site)" -ExternalUrl https://mail.mitserv.net/EWS/Exchange.asmx
Get-WebServicesVirtualDirectory | fl *ternalurl
InternalUrl : https://mail.mitserv.net/EWS/Exchange.asmx
ExternalUrl : https://mail.mitserv.net/EWS/Exchange.asmx
InternalUrl : https://mail.mitserv.net/EWS/Exchange.asmx
ExternalUrl : https://mail.mitserv.net/EWS/Exchange.asmx
Powershell
There is a new virtual directory for remote Powershell connectivity in Exchange 2015:
Get-PowerShellVirtualDirectory | fl identity,*ternalurl
Identity : EX13-1\PowerShell (Default Web Site)
InternalUrl : http://ex13-1.mynet.lan/powershell
ExternalUrl :
Set-PowerShellVirtualDirectory "EX13-1\PowerShell (Default Web Site)" -InternalUrl http://mail.mitserv.net/powershell
Set-PowerShellVirtualDirectory "EX13-1\PowerShell (Default Web Site)" -ExternalUrl http://mail.mitserv.net/powershell
>Get-PowerShellVirtualDirectory | fl identity,*ternalurl
Identity : EX13-1\PowerShell (Default Web Site)
InternalUrl : http://mail.mitserv.net/powershell
ExternalUrl : http://mail.mitserv.net/powershell
***
This concludes the configuration of our virtual directories on the Exchange 2015 server.
Thank you for reading the article about Exchange 2015 (SP1) - Migration - Part 6 - URL configuration for virtual directories on the blog NEW TECH If you want to disseminate this article on please list the link as the source, and if this article was helpful please bookmark this page in your web browser by pressing Ctrl + D on your keyboard keys.