2012-06-25 1 views
1

자동 배포 웹 사이트에 PowerShell을 사용하고 있으며 최근에 PS로 설정할 수없는 AppPool 설정을 발견했습니다. 또는 적어도 나는 그것을 어떻게하는지 알 수 없었다.IIS ApplicationPool을 설정하는 방법 PowerShell을 사용하여 "Private Memory Limit"값

$appPool = $serverManager.ApplicationPools.Add($sitename)... 

나는 어떤 값으로 "개인 메모리 제한"을 설정해야하지만, 객체를 ApplicationPoolRecycling ApplicationPool 속성 또는 에서 그런 프로퍼티가 존재하지 않을 것 같습니다.

anybode가이 문제의 해결 방법을 알고 있습니까?

+0

IIS의 버전은 무엇입니까? –

답변

6

이 스크립트는 Get-WebconfigurationSet-WebConfiguration을 사용하여 모든 응용 프로그램 풀의 개인 메모리 값을 얻습니다. 각각을 개별적으로 설정하거나 상속 할 응용 프로그램 풀 기본값을 설정할 수 있습니다. 나는 실제로 세트를 수행하는 라인을 주석 처리했다.

import-module webadministration 

$applicationPoolsPath = "/system.applicationHost/applicationPools" 
$applicationPools = Get-WebConfiguration $applicationPoolsPath 

foreach ($appPool in $applicationPools.Collection) 
{ 
    $appPoolPath = "$applicationPoolsPath/add[@name='$($appPool.Name)']" 
    Get-WebConfiguration "$appPoolPath/recycling/periodicRestart/@privateMemory" 
    # Set-WebConfiguration "$appPoolPath/recycling/periodicRestart/@privateMemory" -Value 1000 
} 
+0

신난다, 고마워! –

1

기존에 사용하는 데 문제가있어서 답변을 추가하고 있습니다.

import-module webadministration 
$applicationPools = Get-ChildItem IIS:\AppPools 

foreach ($appPool in $applicationPools){ 
Set-ItemProperty IIS:\AppPools\$appPool.name ` 
-Name recycling.periodicrestart.privateMemory -Value 7000000 
} 
관련 문제