manage legacy exchange url address using a powershell script | 15#23

22
Page 1 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell script Written by Eyal Doron | o365info.com | Copyright © 2012-2015 MANAGE LEGACY EXCHANGE URL ADDRESS USING A POWERSHELL SCRIPT| 15#23 The current article is 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.

Upload: o365infocom

Post on 21-Jul-2016

225 views

Category:

Documents


0 download

DESCRIPTION

Manage legacy Exchange URL address using a PowerShell script | 15#23 http://o365info.com/manage-legacy-exchange-url-address-using-a-powershell-script/ In this article we will review and explain how to use a PowerShell script named: Manage Exchange CAS server settings. ps1 which can be used to simplify the configuration setting of the legacy Exchange CAS server\s infrastructure URL address and Outlook Anywhere settings. Eyal Doron | o365info.com

TRANSCRIPT

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

Page 1 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

MANAGE LEGACY EXCHANGE URL ADDRESS

USING A POWERSHELL SCRIPT| 15#23

The current article is 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.

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

Page 2 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

Just to be on the safe side:

THIS CODE AND ANY ASSOCIATED INFORMATION ARE PROVIDED “AS IS” WITHOUT

WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT

LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS

FOR A PARTICULAR PURPOSE. THE ENTIRE RISK OF USE, INABILITY TO USE, OR

RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER

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

Page 3 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

Download the: Manage Exchange CAS server

settings.ps1 PowerShell script

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 phase

of exciting the different task: the planning phase.

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.

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

Page 4 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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:

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

Page 5 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

There are four main sections, which are “painted” in a blow. Each of the “sections”

relates to a different administrative task that relates 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, is 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 will be saved on C:\ drive on a folder named: INFO and

subfolder named: “Exchange URL address and Outlook Anywhere information”

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

Page 6 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

The information that will be displayed will include information about the following

Exchange services:

Exchange web service Internal and external URL address

Exchange OWA Internal and external URL address

Exchange ECP Internal and external URL address

Exchange ActiveSync Internal and external URL address

Exchange OAB Internal and external URL address

Exchange, Outlook Anywhere settings All the available settings

Exchange Autodiscover settings AutodiscoverServiceInternalUri

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 specific

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 will be saved

in: C:\INFO

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

Page 7 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

The result is divided into dedicated sections, for each of the Exchange CAS server

services such as: Exchange web service, etc.

Each of the sections, include information about all the available Exchange CAS

servers. In our specific scenario, we can see information about three Exchange CAS

servers: STS, EX01 and EX02

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 specific 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

specific Exchange CAS server (in our scenario, EX01 and EX02).

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

Page 9 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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.

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:

1 Exchange web service Internal and external URL

address

2 Exchange OWA Internal and external URL

address

3 Exchange ECP Internal and external URL

address

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

Page 10 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

4 Exchange ActiveSync Internal and external URL

address

In the following screenshot, we can see that we have two passable 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 verse external URL address (option B).

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

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

Page 11 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

In the following screenshot, we can see the results: the PowerShell command will

use the host name – mail.o365info.com for “constricting” 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.

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

Page 12 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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.

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

Page 13 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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

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 implementing 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.

You can read more information about the subject of xxx in the article xxx

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

Page 14 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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 specific

Exchange CAS server (option B).

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 named: EX02

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

Page 15 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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.

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

Page 16 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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

ExternalHostname This 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-loading The 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 Host name (RPC Endpoint name) that we want to

assign to the Exchange CAS server. In our example, we will use the host name:

mail.o365info.com

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

Page 17 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

In the following screenshot, we can see the result of the “enable Outlook Anywhere

setting” command.

We can see different parameter such as the: external host name (the RPC Endpoint

name) and the different authentication methods.

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

Page 18 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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

server

This menu will be used in case that the legacy Exchange CAS server\s infrastructure

already included support in 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.

ExternalHostname This 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

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

Page 19 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

“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

Method

The 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

SSL

The value of the – Requirement for SSL will be set to: True

Note – The value will be configured automatically by the

PowerShell command.

SSL off-loading The 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 former version of Exchange CAS server\s.

For example: Exchange CAS 2013 can be configured to use the different server

name for internal versus 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:

ExternalHostname The RPC Endpoint host name whom the external Outlook

Anywhere Outlook clients will refer.

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

Page 20 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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

InternalHostname The 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

Method

The 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

SSL

The value of the – Requirement for SSL will be set to: True

Note – The value will be configured automatically by the

PowerShell command.

SSL off-loading The 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:

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

Page 21 of 22 | Part 15#23 | Manage legacy Exchange URL address using a PowerShell

script

Written by Eyal Doron | o365info.com | Copyright © 2012-2015

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

Download the:

Manage Exchange CAS server

settings.ps1 PowerShell script

Additional reading

Script for collecting information about existing Exchange infrastructure

Generate Exchange Environment Reports use Powershell

Exchange Email Organization Report (Get-CorpEmailReport)