나는 우리의 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를 통해이 작업을 수행했지만 powershell을 통해이 모든 작업을 실제로하고 싶습니다.
%appcmd% set apppool "BusinessUserApps" /+recycling.periodicRestart.schedule.[value='01:00:00']
나는 시도했다 :
$WebAppPool.recycling.periodicRestart.schedule = (New-TimeSpan -h 1 -m 30)
$ WebAppPool = get-item iis : \ AppPools \ AppPoolName을 사용하여 변수를 새로 고칠 때까지 .schedule 속성을 시간 범위로 바꾸는 이상한 효과가 있습니다.
또한 $WebappPool.recycling.periodicRestart.schedule.Collection
컬렉션에 add () 함수가 없으며 수정하는 다른 방법을 찾지 못했습니다.
위에서 작성한 코드와 일치하는 구문을 사용하여 예약 된 재활용 시간을 설정할 수있는 방법을 아는 사람이 있습니까?