Skip to content

Manage legacy Exchange URL address using a PowerShell script | 15#23

The current article dedicated to the presentation of a little PowerShell script that I have written that was created to simplify the task of the “preparation” of existing Exchange infrastructure to the Exchange 2013 coexistence environment.

The PowerShell script includes options that will help us to configure Exchange CAS server URL address, authentication type and more and additionally, view and export information about the existing Exchange infrastructure.
Regarding the use of the PowerShell script, my main advice is: be careful!

The changes\update that the PowerShell command “do” to the existing Exchange CAS server could be quite dramatic. Before you use the PowerShell command that “make the update” please look at the “behind the scenes” of the PowerShell script and verify that you are completely understood each of the many selections.

The reason for using the PowerShell script

The task of preparing the existing Exchange environment to the pace of Exchange 2013 coexistence environment, in which we add the Exchange CAS 2013 infrastructure, could consider as not so simple, especially in an enterprise Exchange environment because the preparation task consists of many tasks that we need to implement for each of the existing Exchange CAS servers.

We should not forget to most important phase be before with start with the step of exciting the different task: the planning stage.

We will need to have a very clear map of the existing Exchange infrastructure such as the different site, the ensemble of the Exchange server in each site and a specific detail about each of the Exchange servers such as: number to the Exchange server at each site, Exchange server version, the Exchange server role and so on.

The Exchange services\components that we need to configure.

The preparation checklist of the legacy Exchange CAS server infrastructure includes the following parts. The “Manage Exchange CAS server settings.ps1” PowerShell script includes reference for each of these parts.

The type of Information about the existing Exchange information

The content of the Exchange environment preparation PowerShell script

The structure of the “Manage Exchange CAS server settings” PowerShell script includes the following menu structure:

Manage Exchange CAS server settings PowerShell script structure

There are four main sections, which are “painted” in a blow. Each of the “sections” relates to a different administrative task that refers to the required Exchange CAS server’s preparations for the Exchange 2013 coexistence environment.

Section A: Get information about Exchange web service URLs and Outlook Anywhere configuration

This section used for getting information about the existing Exchange infrastructure.
The script will display information on the screen and at the same time, will export the information to an HTML file.

The exported file\s saved on C:\ drive on a folder named: INFO and subfolder named: “Exchange URL address and Outlook Anywhere information.”

The information that will be displayed will include information about the following Exchange services:

Exchange web serviceInternal and external URL address
Exchange OWAInternal and external URL address
Exchange ECPInternal and external URL address
Exchange ActiveSyncInternal and external URL address
Exchange OABInternal and external URL address
Exchange, Outlook Anywhere settingsAll the available settings
Exchange Autodiscover settingsAutodiscoverServiceInternalUri

This section includes two menu options:

Menu 1: View information about ALL existing Exchange servers URL address
Using this option will query the Active Directory about all the available Exchange CAS servers and display the information for each of these Exchange CAS servers.

Menu 2: View information about specific Exchange server URL address

This option will display to the screen + export the information to HTML for a particular Exchange CAS server.

In the following screenshot, we can see that result from the information that is displayed on the screen when choosing the Menu 1 option.

To “Top part” is the notification area to inform us about “what is the PowerShell command done” and about the location of the HTML reports that saved in: C:\INFO

The result divided into dedicated sections, for each of the Exchange CAS server services such as – Exchange web service, etc.

Each of the sections includes information about all the available Exchange CAS servers. In our particular scenario, we can see information about three Exchange CAS servers: STS, EX01 and EX02

View information about ALL existing Exchange servers URL address

The HTML reports will be saved in: C:\INFO\Exchange URL address and Outlook Anywhere information

HTML reports for all of the Exchange CAS servers or a particular Exchange CAS server

In the following screenshot, we can see an example in the HTML reports that include information about all the existing Exchange CAS servers named – Exchange web services – Unified report.html, and two additional HTML reports that we created using Menu 2 options, that enable us to display information about a particular Exchange CAS server (in our scenario, EX01 and EX02).

HTML reports for all of the Exchange CAS servers or a specific Exchange CAS server

In the following screenshot, we can see an Example of the HTML Exchange CAS server report.

Example of the HTML Exchange CAS server report

HTML report by Exchange server version

The HTML reports of the existing Exchange infrastructure will include a dedicated report for each of the Exchange server version: Exchange 2007, Exchange 2010 and Exchange 2013.

HTML report by Exchange server version

Section B: Manage Exchange servers URL address

Menu 3: Set the URL address of Exchange web services

The following menu will enable us set\configure the value of the following Exchange CAS services:

1Exchange web serviceInternal and external URL address
2Exchange OWAInternal and external URL address
3Exchange ECPInternal and external URL address
4Exchange ActiveSyncInternal and external URL address

In the following screenshot, we can see that we have two possible options:

Using the same namespace for the external and the internal Exchange CAS services (option A) or choose to implement an option in which we use different namespace for the internal vs. external URL address (option B).

Set the URL address of Exchange web services -01

Example: in the following scenario, we choose option A, in which we will use the same namespace for the external + internal URL address.

In our example, we choose to configure Exchange CAS server named: EX02 and the host name whom we will use is: mail.o365info.com

Set the URL address of Exchange web services -02

In the following screenshot, we can see the results: the PowerShell command will use the host name – mail.o365info.com for “constructing” the URL address of the different Exchange CAS server services such as the Exchange web services URL address: https://mail.o365info.com/EWS/Exchange.asmx and so on.

The output from the PowerShell command will inform as if the operation was completed successfully and displays the value in the URL address.

Set the URL address of Exchange web services -03

Section C: Manage Exchange servers Autodiscover SCP URL address

Menu 4: Set the value at the change servers Autodiscover SCP URL address

This menu will help us to set the Autodiscover URL address that Exchange CAS server register in the Active Directory SCP.

The best practice is to set the “internal Autodiscover URL address” of the legacy Exchange CAS server\s to point to the Autodiscover address of the Exchange 2013 CAS.

In our example, the internal and the external Autodiscover namespace that is used by the Exchange 2013 CAS is: autodiscover.o365info.com
In the following screenshot, we can see an example to the parameters that we use of the PowerShell command.

  • The first parameter is the Exchange CAS server whom we want to set his Autodiscover name: EX02
  • The second parameter, is the Autodiscover address. In our example: autodiscover.o365info.com
Manage Exchange servers Autodiscover SCP URL address

Section D: Manage Outlook Anywhere settings

In the Exchange 2013 coexistence environment, we will need to configure the Outlook Anywhere Exchange infrastructure. The configuration will relate to the Exchange CAS 2013 and, to all the legacy Exchange CAS servers: Exchange 2007 and Exchange CAS 2010.

  • The need for implementing the Outlook Anywhere setting will relate to the communication with the Outlook clients with the Exchange CAS 2013.
  • The need for applying the Outlook Anywhere sitting on the legacy Exchange CAS servers, will relate to the “CAS to CAS” communication part, in which the Exchange CAS 2013 creates a communication channel with the legacy Exchange CAS servers for Proxy legacy Outlook client requests.

Menu 5: View Outlook Anywhere setting

In the section, we can view the existing Outlook Anywhere settings of all the Exchange CAS servers (option A) or choose to view Outlook Anywhere of a particular Exchange CAS server (option B).

View Outlook Anywhere setting-01

In the following screenshot, we can see the results. We can see the Outlook Anywhere configuration setting of all the Exchange CAS servers.

In our example, we can see the Outlook Anywhere setting of an Exchange CAS server named: STS and Exchange CAS server called: EX02

View Outlook Anywhere setting-02

Outlook Anywhere – Exchange 2007/2010 CAS Server Infrastructure

This section relates to the management if the Outlook Anywhere infrastructure in “legacy Exchange CAS server\s.” The reason for that we are referring the Exchange 2007/2010 separately from the Exchange CAS 2013 infrastructure, is that the Outlook Anywhere setting and architecture are implemented differently in Exchange CAS 2013.

The configuration of Outlook Anywhere in Exchange 2007/2010 CAS servers, could be considered as a two-phase process.

  • In phase 1, we enable the option of Outlook Anywhere on the Exchange CAS server.
  • In phase 2, we configure the specific required settings of Outlook Anywhere on the Exchange CAS server.

Menu 6: Enable Outlook Anywhere on Exchange 2007/2010 CAS server

In case that Exchange CAS server 2007/2010 did not include support for Outlook Anywhere (RPC\HTTP), we will need to enable the Outlook Anywhere service + configure the required configuration settings.

The configuration setting that we will need to use are:

ExternalHostnameThis RPC Endpoint host name whom the external + internal Outlook Anywhere Outlook clients will refer.
The host name whom we will need to provide will be the “primary namespace” host name who is also “attached” to the Exchange CAS 2013. For example: mail.o365info.com
Exchange client authentication method (protocol)The value of the – Default Authentication Method will be set to: Basic.
Note – The value will be configured automatically by the PowerShell command.
SSL off-loadingThe value of the – SSL off-loading will be set to: False

In the following screenshot, we can see an example to the parameters that we use of the PowerShell command.

  • The first parameter is the Exchange CAS server whom we ask to address. In our example, we will enable the Outlook Anywhere setting on the Exchange CAS server named: EX02
  • The second parameter, is the Hostname (RPC Endpoint name) that we want to assign to the Exchange CAS server. In our example, we will use the hostname: mail.o365info.com
Enable Outlook Anywhere on Exchange 2007 -2010 CAS server -01

In the following screenshot, we can see the result of the “enable Outlook Anywhere setting” command.

We can see different parameters such as the: external host name (the RPC Endpoint name) and the various authentication methods.

Enable Outlook Anywhere on Exchange 2007 -2010 CAS server -02

Menu 7: Set Outlook Anywhere authentication settings on Exchange 2007/2010 CAS server

This menu used in the case that the legacy Exchange CAS server\s infrastructure already included support for Outlook Anywhere (RPC\HTTP).

In this case, we will not need to enable the Outlook Anywhere services, but instead, configure to existing Outlook Anywhere services with the required configuration setting in the Exchange 2013 coexistence environment.

ExternalHostnameThis is the “RPC Endpoint host name” whom the external + internal Outlook Anywhere Outlook clients will refer.
The host name whom we will need to provide will be the “primary namespace” host name who is also “attached” to the Exchange CAS 2013. For example: mail.o365info.com
Exchange client authentication method (protocol)The value of the – Default Authentication Method will be set to: Basic.
Note – The value will be configured automatically by the PowerShell command.
IIS Authentication MethodThe value of the – IIS Authentication Method will be set to: NTLM + Basic.
Note – The value will be configured automatically by the PowerShell command.
A requirement for SSLThe value of the – Requirement for SSL will be set to: True
Note – The value will be configured automatically by the PowerShell command.
SSL off-loadingThe value of the – SSL off-loading will be set to: False

Outlook Anywhere – Exchange 2013 CAS server Infrastructure

We use a dedicated section to the Outlook Anywhere configuration setting on the Exchange CAS 2013 server because, Exchange CAS 2013 include additional setting that are not include in previous version of Exchange CAS server\s.

For example – Exchange CAS 2013 can be configured to use the different server name for internal vs. external Outlook Anywhere client.

Menu 8: Set (configure) Outlook Anywhere settings on Exchange 2013 CAS server

The parameters that will be configured by this PowerShell command are:

ExternalHostnameThe RPC Endpoint host name whom the external Outlook Anywhere Outlook clients will refer.Note – the PowerShell command will set the RPC Endpoint host name based upon the value that was entered by the user.
The value will be used for the ExternalHostname and the InternalHostname
InternalHostnameThe RPC Endpoint host name whom the internal Outlook Anywhere Outlook clients will refer.Note – the PowerShell command will set the RPC Endpoint host name based upon the value that was entered by the user.
The value will be used for the ExternalHostname and the InternalHostname
Exchange client authentication method (protocol)The value of the – Default Authentication Method will be set to: Basic.
Note – The value will be configured automatically by the PowerShell command.
IIS Authentication MethodThe value of the – IIS Authentication Method will be set to: NTLM + Basic.
Note – The value will be configured automatically by the PowerShell command.
A requirement for SSLThe value of the – Requirement for SSL will be set to: TrueNote – The value will be configured automatically by the PowerShell command.
SSL off-loadingThe value of the – SSL off-loading will be set to: False

The following command uses for setting the authentication setting of Exchange CAS 2013 in the following way:

  1. Exchange client authentication method (protocol) – will be automatically set to: Basic
  2. IIS Authentication Method (CAS to CAS) – will be automatically set to: NTLM and Basic
  3. SSL off-loading – the value will be automatically set to: False
  4. A requirement for SSL – the value will be automatically set to: True
o365info Team

o365info Team

This article was written by our team of experienced IT architects, consultants, and engineers.

This Post Has 0 Comments

Leave a Reply

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