J'ai Scripting la configuration de notre instance IIS 7.5 et par des bits et des morceaux d'autres scripts peuples , je suis venu avec une syntaxe qui me plaît:
$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
}
J'ai vu cela de différentes manières moins laconiques et j'aime la façon dont cette syntaxe de définition des propriétés des objets ressemble à quelque chose comme ce que je vois sur TechNet :
Set-ItemProperty 'IIS:\AppPools\DemoPool' -Name recycling.periodicRestart.requests -Value 100000
Une chose que je n'ai pas pu comprendre cependant est de savoir comment configurer les programmes de recyclage à l'aide de cette syntaxe.
Cette commande définit ApplicationPoolDefaults mais est laide:
add-webconfiguration system.applicationHost/applicationPools/applicationPoolDefaults/recycling/periodicRestart/schedule -value (New-TimeSpan -h 1 -m 30)
J'ai fait cela dans le passé via appcmd en utilisant quelque chose comme ce qui suit, mais j'aimerais vraiment faire tout cela via PowerShell:
%appcmd% set apppool "BusinessUserApps" /+recycling.periodicRestart.schedule.[value='01:00:00']
J'ai essayé:
$WebAppPool.recycling.periodicRestart.schedule = (New-TimeSpan -h 1 -m 30)
Cela a pour effet étrange de transformer la propriété .schedule en intervalle de temps jusqu'à ce que j'utilise $ WebAppPool = get-item iis: \ AppPools \ AppPoolName pour actualiser la variable.
Il y en a aussi $WebappPool.recycling.periodicRestart.schedule.Collection
mais il n'y a pas de fonction add () sur la collection et je n'ai pas trouvé d'autre moyen de la modifier.
Quelqu'un connaît-il un moyen de définir des temps de recyclage planifiés en utilisant une syntaxe cohérente avec le code que j'ai écrit ci-dessus?