Saturday, May 10, 2014

Exchange 2013 (SP1) - Migration - Part 6 - URL configuration for virtual directories

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 2013 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 2013 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 2013 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 2013:

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 2013 server.

No comments:

Post a Comment