Script: Add customizations to the IIS web.config file

Очень часто приходится вручную вносить изменения в конфигурационные файлы IIS для OWA, ECP, AciveSync и EWS. Например, это необходимо когда вы интегрируете OWA и Lync, или хотите увеличить размер вложений, которые можно прикрепить к письму через OWA или с мобильного устройства (ActiveSync). Так или иначе, у вас будут какие-либо изменения (кастомизации) в файлы конфигураций web.config.

К сожалению, при установке любого CU эти изменения пропадают. Причина довольно банальна – все настройки хранятся в текствовых файлах и отследить изменения в них очень непростая задача. Для разработчиков решение было найдено простое – перезаписывать каждый раз эти файлы конфигураций и предоставить администраторам самим следить за этими изменениями.

Если у вас Exchange серверов совсем мало, то внести вручную такие изменения в web.config труда не составляет. Другое дело, если у вас серверов  много или очень много.

К счастью, файл web.config представляет собой xml-файл и с учетом того, что Powershell умеет хорошо работать с xml файлами, все необходимые изменения в web.config файлы можно заскриптовать.

Ниже представлен скрипт, который позволяет внести необходимые изменения в файл web.config для различных веб служб (OWA, ECP).


Пример 1

Следующая команда добавляет в файл web.config для ECP каталога на сервере EX2013 параметр GetListDefaultResultSize со значение 3000, после чего происходит Recycling пула приложений ECP.

.\SetWebConfigSettings.ps1 -ServerName EX2013 -ConfigType ECP -ParameterName GetListDefaultResultSize -ParameterValue 3000

image


Пример 2

Следующая команда добавляет в файл web.config для ECP каталога на серверах EX2013, EX2013-02 параметр GetListDefaultResultSize со значением 7000, после чего происходит Recycling пула приложений ECP.

.\SetWebConfigSettings.ps1 -ServerName EX2013,EX2013-02 -ConfigType ECP -ParameterName GetListDefaultResultSize -ParameterValue 7000

В этом примере на сервере EX2013 уже существовал такой параметр, поэтому скрипт вначале удаляет существующее значение

image

Скрипт можно скачать из галереи TechNet: SetWebConfigSettings.ps1

<#
.Synopsis
   Script to automatically add records to web.config files and recycling appropriate IIS Application Pool

   Current Version: 1.0

.DESCRIPTION
   Script to automatically add records to web.config files and recycling appropriate IIS Application Pool

.PARAMETER ServerName
   Single or multiple Server names to add records

.PARAMETER ConfigType
   The type of virtual directory where parameters changes

.PARAMETER ParameterName
   Parameter name

.PARAMETER ParameterValue
   Parameter value

.PARAMETER DefaultExchangeSetupDir
   Exchange installation location. Default: C:\Program Files\Microsoft\Exchange Server\V15\

.EXAMPLE
   .\SetWebConfigSettings.ps1 -ServerName ExchServer1 -ParameterName GetListDefaultResultSize -ParameterValue 3000 -ConfigType ECP

   Running the following command will add parameter GetListDefaultResultSize with value of 3000 to ECP virtual directory and then recycling ECP app pool

.EXAMPLE
   .\SetWebConfigSettings.ps1 -ServerName ExchServer1,ExchServer2 -ParameterName IMServerName -ParameterValue lync.contoso.com -ConfigType OWA

   Running the following command will add parameter IMServerName with value of lync.contoso.com to OWA virtual directory on the following servers: ExchServer1, ExchServer2 and then recycling OWA app pool

#>

Читайте также:

1 комментарий

  1. 07.03.2015

    […] Add customizations to the IIS web.config file […]

Добавить комментарий