Bonjour,
J’avais déjà fait un article à ce sujet il y a un an déjà ! https://unifiedit.wordpress.com/2010/12/04/iis-redirection-vers-owa-exchange-server-2010-2/
Le but est de rediriger les requêtes de la racine du Serveur IIS
Et voici le script Powershell qui va vous aider à configurer correctement vos serveurs Exchange
Le principe est très simple, vous avez deux paramètres à renseigner :
- Le premier est l’URL de redirection que vous désirez utiliser exemple : https://unifiedit.wordpress.com/owa
-
Le second paramètre est l’utilisation ou non du SSL pour l’accès au téléchargement de l’OAB dans votre infrastructure, ici vous pouvez utiliser au choix :
- http
- https
- http
Pour de plus amples informations sur l’utilisation du script vous pouvez utiliser le paramètre – ?

Exemple d’utilisation du script :
.\IISRedirect.ps1 -URLRedirect "https://exchsp2DCFR.intra.net/owa" -OAB HTTP


Code source
#=================================================================================
# IISRedirect.ps1
#
# THIS CODE AND 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.
#
# Description: Redirect IIS to a Vdir Directory
#
# # Script Written By: David Pekmez ( https://unifiedit.wordpress.com )
#
# Version: 1
# Last Updated: 08/12/2011
#
#=================================================================================
#=================================================================================
# Parameter definition
#=================================================================================
Param(
[Parameter(Mandatory=$true, Position=0, HelpMessage="Please Enter the redirection URL",ValueFromPipeline=$true)][string] $URLRedirect,
[Parameter(Mandatory=$true, Position=1, HelpMessage="Please Enter HTTP or HTTPS for OAB Access",ValueFromPipeline=$true)][string] $OAB
)
#=================================================================================
# OAB Access HTTP or HTTPS
#=================================================================================
if ($OAB -eq "HTTP") {
[string]$OABConf = ""
} else {
[string]$OABConf = "Ssl"
}
#=================================================================================
# Add Exchange 2010 Powershell Snapin
#=================================================================================
if ( (Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction SilentlyContinue) -eq $null )
{
Add-PsSnapin Microsoft.Exchange.Management.PowerShell.E2010
}
#==========================================================================
# Function that returns true if the incoming argument is a help request
#==========================================================================
function IsHelpRequest
{
param($argument)
return ($argument -eq "-?");
}
#==========================================================================
# Function Debug
#==========================================================================
function Debug([string]$data)
{
$var = $null
$var = get-variable($data) -ea SilentlyContinue
if ($var)
{
write-host "DEBUG: " -foregroundcolor cyan -nonewline
write-host $var.name " " -nonewline
write-host "[$var.value]"
}
else
{
write-host "DEBUG: " -foregroundcolor cyan -nonewline
write-host "[$data]"
}
}
#=======================================
# Reset IIS on the server
#=======================================
function ResetIIS
{
Write-Host "Restarting IIS Services..." -foregroundcolor Green
IISRESET
Write-Host ""
Write-Host "Redirection set to $URLRedirect and $OAB for OAB Access" -foregroundcolor green
Write-Host ""
}
#===================================================================
# Function that displays the help related to this script following
# the same format provided by get-help or <cmdletcall> -?
#===================================================================
function Usage
{
@"
NAME: IISRedirect.ps1
SYNOPSIS:
Add a redirection on IIS default web site to another Virtual directory
Made for Exchange Server to redirect to OWA directory
SYNTAX:
IISRedirect.ps1
`t[-URLRedirect <Redirection URL>]
`t[-OAB <HTTP or HTTPS>]
`t[-?]
PARAMETERS:
-URLRedirect (Requiered)
Enter the IIS redirection URL to use
-OAB (Requiered)
Set OAB access to HTTP Or HTTPS
-?
Help on usage
-------------------------- EXAMPLE --------------------------
.\IISRedirect.ps1 -URLRedirect "https://unifiedit.intra.net/owa" -OAB HTTP
"@
}
#=============================================================================================
# Redirection
# More information http://www.iis.net/ConfigReference/system.webServer/httpRedirect
# Note: You must be sure to set the commit parameter to apphost when you use AppCmd.exe
# to configure these settings. This commits the configuration settings to the appropriate
# location section in the ApplicationHost.config file
#=============================================================================================
Write-host ""
Write-host "IIS Config is starting ... " -foregroundcolor Green
Write-host ""
Set-Location "$env:windir\System32\inetsrv"
.\appcmd.exe set config "Default Web Site" -section:system.webServer/httpRedirect /exactDestination:"False" /childonly:true /enabled:"True" /destination:$URLRedirect
.\appcmd.exe set config "Default Web Site/Aspnet_Client" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/Autodiscover" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/EWS" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/ECP" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/OWA" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/PowerShell" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/OAB" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/Rpc" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/RpcWithCert" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
Write-host ""
Write-host "Redirection HTTP Done .. " -foregroundcolor Green
Write-host ""
#====================================================================================
# Suppress SSL on "Default Web Site"
# More information http://www.iis.net/ConfigReference/system.webServer/security/access
# Note: You must be sure to set the commit parameter to apphost when you use AppCmd.exe
# to configure these settings. This commits the configuration settings to the appropriate
# location section in the ApplicationHost.config file
#====================================================================================
Set-Location "$env:windir\System32\inetsrv"
# Unlock IIS Config
.\appcmd.exe unlock config -section:system.webServer/security/access
Write-Host ""
Write-Host "IIS Unlock Security Access Done ...." -foregroundcolor green
Write-Host "Setting SSLFlags now ..." -foregroundcolor green
Write-Host ""
.\appcmd.exe set config "Default Web Site" -section:system.webServer/security/access /sslFlags:""
.\appcmd.exe set config "Default Web Site/Aspnet_Client" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/Autodiscover" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/EWS" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/ECP" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/OWA" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/PowerShell" -section:system.webServer/security/access /sslFlags:""
# OAB conf is set to HTTP or HTTPS
.\appcmd.exe set config "Default Web Site/OAB" -section:system.webServer/security/access /sslFlags:$OABConf
.\appcmd.exe set config "Default Web Site/Rpc" -section:system.webServer/security/access /sslFlags:"Ssl"
.\appcmd.exe set config "Default Web Site/RpcWithCert" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
If ($OAB -eq "HTTP")
{
Write-Host ""
Write-Host "OAB Vdir is set to HTTP so all the infrastructure must be set to HTTP for OAB access" -foregroundcolor yellow
Write-Host ""
}
Else
{
Write-Host ""
Write-Host "OAB Vdir is set to HTTPS so all the infrastructure must be set to HTTPS for OAB access" -foregroundcolor yellow
Write-Host ""
}
#==================================================================================================
# Change security settings on the web.config file that lost the Authenticated User permissions
# The Web.config file will be created during the IIS Redirection setup
#==================================================================================================
# get file web.config path and set the right permissions if exists
$setupRegistryPath = Get-ItemProperty -path 'HKLM:SOFTWARE\Microsoft\ExchangeServer\v14\Setup'
$exchangeInstallPath = $setupRegistryPath.MsiInstallPath
$WebConfigFile = ($exchangeInstallPath)+"ClientAccess\OAB\web.config"
$FileExists = Test-Path $WebConfigFile
$ErrorActionPreference = "Stop"
# Authenticated Users Group SID = S-1-5-11
# a "*" is added before the SID because icacls needs it when using SIDs
$Group = "*S-1-5-11"
$GrantPerm = icacls $WebConfigFile /grant:R $Group':R'
# Set Permissions on Web.Config file giving Read Access to Anthenticated Users Group
If ($FileExists -eq $True)
{
$GrantPerm
Write-Host ""
Write-Host "Security Settings on Web.Config file Done " -foregroundcolor green
Write-Host ""
}
Else {Write-Host "The Web.config File is not present in Directory: $exchangeInstallPath" -foregroundcolor red}
#==================================================================================================
# IISReset
#==================================================================================================
ResetIIS
Ce script est en téléchargement via le lien : IISRedirect.zip
Hope this Help !
David Pekmez
