我想禁用應用程序池的空閒超時(將其設置爲零),我想在安裝時執行此操作,是否可以使用C#或PowerShell執行此操作?- 是否可以從應用程序池更改IIS空閒超時?
回答
這是我決定使用腳本:
$myApplicationPool = Get-WmiObject -Class IISApplicationPoolSetting -Namespace "root\microsoftiisv2" | Where-Object {$_.Name -eq 'W3SVC/APPPOOLS/DefaultAppPool'}
$myApplicationPool.IdleTimeout=0
$myApplicationPool.Put()
如果其他人有更好的方法爲這個請讓我知道。
希望這可以幫助別人
問候。
%windir%\system32\inetsrv\appcmd set config -section:applicationPools
-applicationPoolDefaults.processModel.idleTimeout:00:00:00
或者你可以在你的代碼http://msdn.microsoft.com/en-us/library/microsoft.web.administration.servermanager使用'ServerManager的Class' .aspx – 2011-04-27 22:37:10
感謝您的回答,我會嘗試一下 – 2011-04-28 16:53:56
我爲您提供的兩種解決方案做了一個快速的概念證明,但它們似乎無法在Window Server 2003上工作,因爲ServerManager僅適用於iis 7和appcmd存在於最新版本的IIS – 2011-05-03 17:20:49
我用下面的函數一般地抓住一個應用程序池對象:
$query = "Select * From IIsApplicationPoolSetting WHERE WAMUserName LIKE '%$uServer'"
$query
$pools = Get-WmiObject -Authentication 6 -ComputerName $server -Query $query -Namespace 'root/microsoftiisv2'
if ($pools)
{
foreach ($pool in $pools)
{
Write-Host(" WAM Pool: " + $pool.Name + ", " + $pool.WAMUserName + " (" + $pool.WAMUserPass + ")")
}
}
而且從一個不相關的代碼,這裏就是我放在一個新的應用程序池的站點。這只是一個如何使用Set-WMIInstance的例子。
if ($site.AppPoolID -ne $poolID)
{
# Write-Host("Updating $($site.Name) from $($site.AppPoolID) to $($poolID)")
$wmiArgs = @{"AppPoolID"=$poolID}
[void](Set-WMIInstance -InputObject $site -Arguments $wmiArgs)
} else {
# Write-Host("No update needed")
}
使用Get-Member來了解您的$ pool的屬性,然後使用Set-WMIInstance來修改它們。
我真的很感激這個例子,謝謝! – 2011-04-28 16:54:20
嗨,你有沒有機會收集代碼?謝謝:) – 2011-05-02 18:18:31
請注意,只有安裝了IIS 6 WMI兼容性功能才能使用此方法。 – 2016-03-27 16:31:10
如果您使用的是PowerShell 2或更高版本,則應該有權訪問Set-ItemProperty。您還需要加載WebAdministration模塊。
然後你可以做(例如,從here拍攝)
Set-ItemProperty ("IIS:\AppPools\$name") -Name processModel.idleTimeout -value ([TimeSpan]::FromMinutes(0))
,並驗證該值與
Get-ItemProperty ("IIS:\AppPools\$name") -Name processModel.idleTimeout.value
這個答案對我不起作用。我添加了一個適用於我的版本:http://stackoverflow.com/a/41111237/260303 – 2016-12-12 23:13:40
改變使用PowerShell中使用下列內容:
$appPoolName = "xxxAppPool"
&"$env:windir\system32\inetsrv\appcmd" set APPPOOL $appPoolName /processModel.idleTimeout:0.00:00:00
@ R0MANARMY的answer(當前最流行)didn不爲我工作。它運行良好,但隨後的檢查顯示空閒超時未變。
根據this blog post,該答案修改了對象的內存中副本。我修改了代碼示例中R0MANARMY's answer爲:
Get-ChildItem IIS:\AppPools\$name | ForEach { $_.processModel.IdleTimeout = [TimeSpan]::FromMinutes(0); $_ | Set-Item; }
一個工作班輪。不要忘記從Import-Module WebAdministration開始。 – CodingBarfield 2018-01-12 12:39:07
- 1. 如何在IIS7中禁用應用程序池空閒超時?
- 2. 應用程序池的空閒超時設置
- 3. ASP.Net應用程序空閒超時和應用程序池回收
- 4. 如何以編程方式設置應用程序池空閒超時?
- 5. 空閒超時IIS上
- 6. IIS Web Serive空閒超時
- 7. 檢查IIS應用程序池是否爲空(C#/ IIS6)
- 8. IIS空閒超時不起作用
- 9. 如何將IIS應用程序池從x64更改爲x86
- 10. 是否可以從Windows8.1應用程序更改桌面壁紙?
- 11. 應用程序池的「啓動模式」和「空閒超時」操作之間是否存在任何衝突?
- 12. 是否可以更改每個應用程序池的w3wp.exe的名稱?
- 13. IIS:空閒超時VS回收
- 14. Quartz.NET可以調用我的類函數,如果asp.net應用程序池空閒
- 15. Web部署是否可以創建IIS站點和應用程序池
- 16. IIS應用程序池
- 17. IIS應用程序池PID
- 18. IIS應用程序池
- 19. MVC 5在空閒超時後應用Azure/IIS錯誤
- 20. 計時器,應用程序池超時
- 21. 如何在Android應用程序中實現應用程序空閒超時?
- 22. Tomcat連接池mysql配置,以避免空閒連接超時
- 23. 會話狀態超時,身份驗證超時,應用程序池空閒和服務器會話狀態
- 24. 是否有任何IIS應用程序池使用指南?
- 25. Android應用程序活動的空閒超時
- 26. Flex空閒應用程序會話超時
- 27. 是否有可能讓空閒時間退出我的程序?
- 28. 更改IIS 6應用程序池,而不整個服務器
- 29. 應用程序的用戶AccountKit ID是否可以更改?
- 30. 從IIS應用程序池運行應用程序
請注意,只有安裝了IIS 6 WMI兼容性功能,此方法纔可用。 – 2016-03-27 16:30:44