1

Что мне нужно

Для автоматической установки значения, отмеченного желтым, на false с помощью PowerShell:

Вот когда вы делаете правый клик на Advanced Settings в ApplicationPool.

Мне это нужно для сценария Octopus после развертывания.

Что мне не нужно

Мне не нужен Regular Time Interval (minutes) , который уже покрыт:

$AppPool.recycling.periodicRestart.time = ( [TimeSpan]::FromMinutes($desiredValue))

Что я знаю

В отличие от многих других значений, Regular Time Interval отсутствует в файле applicationHost.config . Я уверен, потому что:

  1. Я не могу найти ничего похожего на текст в файле хоста.
  2. Установка значения через IIS не обновляет файл

Поэтому я не могу использовать конфигурацию хоста для поиска структуры (как у меня с другими значениями).

Есть какие-нибудь подсказки?

1 ответ1

2

Эту информацию можно прочитать в разделе « Recycling.LogEventOnRecycle объекта пула приложений, возвращаемого Get-IISAppPool , но, как ни странно, изменения в этом, похоже, не сохраняются.

Чтобы изменения остались, нам нужен другой маршрут. Сначала мы импортируем модуль администрирования IIS, который создает псевдопривод, содержащий объекты IIS.

Import-Module WebAdministration

Затем мы переходим к рассматриваемому пулу приложений.

cd "IIS:\AppPools\$name"

(Предполагая, что $name - это имя вашего пула приложений.) Теперь мы получаем часть конфигурации, касающейся переработки.

$cfg = Get-ItemProperty . 'recycling'

Это значение является разделенным запятыми списком событий, которые вызывают событие. Мы удаляем Time , тот, который соответствует выделенному вами элементу GUI.

$cfg.logEventOnRecycle = ($cfg.logEventOnRecycle -split ',' | ? {$_ -ne 'Time'}) -join ','

Наконец мы фиксируем измененный раздел конфигурации.

Set-ItemProperty . 'recycling' $cfg

Консультация с графическим интерфейсом управления IIS показывает, что это действительно спасает наш выбор.

Обратите внимание, чтобы избежать путаницы со стороны других будущих читателей: отключение этой конкретной опции не отключает периодические повторы. Скорее, он удаляет запись журнала, сгенерированную, когда происходит перезапуск. Чтобы отключить периодические перезапуски, установите для параметра «Регулярный интервал времени» значение ноль.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .