我正在使用 PowerShell 自动部署网站,最近发现 AppPool 设置无法使用 PS 进行设置。或者至少我没有设法找出如何去做。
$appPool = $serverManager.ApplicationPools.Add($sitename)...
我需要将“私有内存限制”设置为某个值,但看起来ApplicationPool或ApplicationPoolRecycling对象中没有这样的属性。
有人知道这个问题的解决方法吗?
我正在使用 PowerShell 自动部署网站,最近发现 AppPool 设置无法使用 PS 进行设置。或者至少我没有设法找出如何去做。
$appPool = $serverManager.ApplicationPools.Add($sitename)...
我需要将“私有内存限制”设置为某个值,但看起来ApplicationPool或ApplicationPoolRecycling对象中没有这样的属性。
有人知道这个问题的解决方法吗?
此脚本使用Get-Webconfiguration和Set-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
}
我正在添加一个答案,因为我无法使用现有的。
import-module webadministration
$applicationPools = Get-ChildItem IIS:\AppPools
foreach ($appPool in $applicationPools){
Set-ItemProperty IIS:\AppPools\$appPool.name `
-Name recycling.periodicrestart.privateMemory -Value 7000000
}
您的回复帮助我找到了解决我在 WSUS 服务器上遇到的问题的方法。我知道这WsusPool
是给我带来问题的应用程序池大小,所以我制作了以下 PS 脚本并将其应用于OU
我的WSUS
服务器的根目录(我有 3 个)我收到连接错误并且我的选项Reset Server Node
没有帮助。事件查看器的事件 ID 为 12002、12012、12032、12022、12042、12052 和 12072。
Set-WebConfiguration "/system.applicationHost/applicationPools/add[@name='WsusPool']/recycling/periodicRestart/@privateMemory" -Value 0