Як я можу встановити пул додатків IIS повторно переробляти, не вдаючись до некрасивого синтаксису Add-WebConfiguration?


9

Я проробляв конфігурацію нашого екземпляра IIS 7.5 і через біти та фрагменти сценаріїв інших народів я придумав синтаксис, який мені подобається:

$WebAppPoolUserName = "domain\user"
$WebAppPoolPassword = "password"

$WebAppPoolNames = @("Test","Test2")

ForEach ($WebAppPoolName in $WebAppPoolNames ) {
    $WebAppPool = New-WebAppPool -Name $WebAppPoolName  
    $WebAppPool.processModel.identityType = "SpecificUser"
    $WebAppPool.processModel.username = $WebAppPoolUserName
    $WebAppPool.processModel.password = $WebAppPoolPassword
    $WebAppPool.managedPipelineMode = "Classic"
    $WebAppPool.managedRuntimeVersion = "v4.0"
    $WebAppPool | set-item
}

Я бачив, як це було зроблено кількома різними способами, які менш стислі, і мені подобається, як виглядає цей синтаксис встановлення властивостей об'єкта порівняно з чимось на зразок того, що я бачу в TechNet :

Set-ItemProperty 'IIS:\AppPools\DemoPool' -Name recycling.periodicRestart.requests -Value 100000

Одна річ, яку я не змогла з’ясувати, - це те, як налаштувати переробляти графіки за допомогою цього синтаксису.

Ця команда встановлює ApplicationPoolDefaults, але негарна:

add-webconfiguration  system.applicationHost/applicationPools/applicationPoolDefaults/recycling/periodicRestart/schedule -value (New-TimeSpan -h 1 -m 30)

Я це робив у минулому за допомогою appcmd, використовуючи щось подібне, але я дуже хотів би зробити все це через посилання:

%appcmd% set apppool "BusinessUserApps" /+recycling.periodicRestart.schedule.[value='01:00:00']

Я намагався:

$WebAppPool.recycling.periodicRestart.schedule = (New-TimeSpan -h 1 -m 30)

Це має дивний ефект перетворення властивості .schedule у часовий проміжок, поки я не використаю $ WebAppPool = get-item iis: \ AppPools \ AppPoolName для оновлення змінної.

Також $WebappPool.recycling.periodicRestart.schedule.Collection у колекції немає функції add (), і я не знайшов іншого способу її змінити.

Хтось знає, як я можу встановити заплановані рази для переробки за допомогою синтаксису, відповідного коду, який я написав вище?


Ви коли-небудь це розуміли?
Йоханнес

Відповіді:


10

Я ніколи не міг зрозуміти, як це встановити на самому об’єкті, але після його створення такі дії:

clear-ItemProperty IIS:\AppPools\MyPoolName -Name Recycling.periodicRestart.schedule #clear values
set-ItemProperty IIS:\AppPools\MyAppPoolName -Name Recycling.periodicRestart.schedule -Value @{value="00:00:00"} #to set it to midnight

Це працює для мене.
jonnii

0

Тож не просто

$webapppool.recycling.periodicrestart.schedule -Value "01:30:00" 

тоді? Або еквівалент ToString TimeSpan?

(Я не PowerShell; просто синтаксична здогадка, заснована на інших ваших бітах).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.