2012-10-11 109 views
0

如何使用PowerShell設置IIS6應用程序池的空閒超時?我從我的搜索中看到的是如何設置應用程序池回收時間,這是不完全相同的。使用PowerShell設置AppPool空閒超時

這就是轉向了,但我不認爲這是我所期待的:

$destinationPool.recycling.periodicRestart.schedule 

回答

1

我無法測試,但試試這個:

$ApplicationPool = Get-WmiObject -Class IISApplicationPoolSetting -Namespace "root/microsoftiisv2" | Where-Object {$_.Name -eq 'W3SVC/APPPOOLS/DefaultAppPool'} 
$ApplicationPool.IdleTimeout=0 
$ApplicationPool.Put() 
+0

使用命名空間「rootmicrosoftiisv2」扔一個無效的命名空間爲我破例讓我換一個以「根\ MicrosoftIISv2」,它不執行任何例外;然而空閒時間沒有改變。 – TheWolf

+0

好吧,它現在有效,我的測試代碼中有一個錯誤,它傳遞了錯誤的應用程序名稱。謝謝! – TheWolf

+0

@vapen。謝謝。修復命名空間! –

0

使用DSC (期望狀態配置)

cAppPool $application.AppPool.Name 
{ 
    Name     = $application.AppPool.Name     
    AutoStart    = $application.AppPool.AutoStart    
    StartMode    = $application.AppPool.StartMode    
    ManagedRuntimeVersion = $application.AppPool.ManagedRuntimeVersion 
    ManagedPipelineMode  = $application.AppPool.ManagedPipelineMode 
    IdentityType   = $application.AppPool.IdentityType 
    LoadUserProfile   = $application.AppPool.LoadUserProfile 
    Ensure     = "Present" 
    idleTimeout    = "00:00:00" 
} 

事實上,idleTimeoutstring而不是int類型絆了我一會兒。嘗試使用"0"默默地離開它在20分鐘的默認

(見cAppPool on GitHub