Я проробляв конфігурацію нашого екземпляра 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 (), і я не знайшов іншого способу її змінити.
Хтось знає, як я можу встановити заплановані рази для переробки за допомогою синтаксису, відповідного коду, який я написав вище?