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?
quelle
Antworten:
Ich konnte nie herausfinden, wie ich dies für das Objekt selbst festlegen soll, aber nach dem Erstellen funktioniert Folgendes:
quelle
Also nicht nur
dann? Oder ein ToString-Äquivalent zum TimeSpan?
(Ich mache keine PowerShell; nur eine syntaktische Vermutung basierend auf Ihren anderen Bits).
quelle