Ich habe Skripts für den Aufbau unserer IIS 7.5 - Instanz und durch Bits und Stücke von anderen Völkern Skripte ich mit einer Syntax kommen habe , dass ich wie:
$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
}
Ich habe gesehen, dass dies auf verschiedene Arten geschieht, die weniger knapp sind, und ich mag die Art und Weise, wie diese Syntax zum Festlegen von Objekteigenschaften im Vergleich zu etwas aussieht, das ich in TechNet sehe :
Set-ItemProperty 'IIS:\AppPools\DemoPool' -Name recycling.periodicRestart.requests -Value 100000
Eine Sache, die ich jedoch nicht herausfinden konnte, ist das Einrichten von Recycling-Zeitplänen mit dieser Syntax.
Dieser Befehl setzt ApplicationPoolDefaults, ist aber hässlich:
add-webconfiguration system.applicationHost/applicationPools/applicationPoolDefaults/recycling/periodicRestart/schedule -value (New-TimeSpan -h 1 -m 30)
Ich habe dies in der Vergangenheit über appcmd mit etwas wie dem folgenden getan, aber ich würde das alles wirklich gerne über Powershell tun:
%appcmd% set apppool "BusinessUserApps" /+recycling.periodicRestart.schedule.[value='01:00:00']
Ich habe versucht:
$WebAppPool.recycling.periodicRestart.schedule = (New-TimeSpan -h 1 -m 30)
Dies hat den seltsamen Effekt, dass die Eigenschaft .schedule in eine Zeitspanne umgewandelt wird, bis ich $ WebAppPool = get-item iis: \ AppPools \ AppPoolName verwende, um die Variable zu aktualisieren.
Es gibt auch, $WebappPool.recycling.periodicRestart.schedule.Collection
aber es gibt keine add () - Funktion in der Sammlung und ich habe keine andere Möglichkeit gefunden, sie zu ändern.
Kennt jemand eine Möglichkeit, geplante Recyclingzeiten mithilfe einer Syntax festzulegen, die mit dem oben geschriebenen Code übereinstimmt?