[英]How to remotely change IIS Application Pool setting via PowerShell?
我正在嘗試使用PowerShell遍歷服務器列表並更改“ ProcessModel”(在IIS中的“應用程序池”的“高級設置”中找到)下的“ MaxProcesses”值
我已經弄清楚了如何遠程啟動和停止應用程序池,但是我似乎無法確定如何修改設置。
感謝您的幫助!
PS-我正在使用Get-WmiObject構建$ appPool對象,在這里我將其稱為$ appPool.Stop()和$ appPool.Start()。 任何使用此對象更新設置的方法,也將不勝感激!
這沒有解決“遠程更改”部分; 只有命令來設置所需的屬性:
import-module webadministration
# tell script where to look for appcmd.exe, else it gives a 'cmd not found' error
Set-Location %systemroot%\system32\inetsrv
.\appcmd.exe set apppool "NameOfYourAppPoolGoesHere" /processModel.maxprocesses:3
參考: https : //www.iis.net/configreference/system.applicationhost/applicationpools/add/processmodel
您可以使用以下代碼段:
$computerName = 'MyServerName'
$appPoolName = 'DefaultAppPool'
停止應用程序池:
Invoke-Command -ComputerName $computerName -args $appPoolName -ScriptBlock {
param($appPoolName)
# Check if application pool is already stopped
if ((Get-WebAppPoolState -name $appPoolName).value -ne 'Stopped') {
Stop-WebAppPool -Name $appPoolName
}
}
停止應用程序池:
Invoke-Command -ComputerName $computerName -args $appPoolName -ScriptBlock {
param($appPoolName)
# Check if application pool is already started
if ((Get-WebAppPoolState -name $appPoolName).value -ne 'Started') {
Start-WebAppPool -Name $appPoolName
}
}
這應該可以完成設置maxProcesses(webgarden)設置的技巧。
$appPoolName = "SomeAppPool"
$maxProcesses = 4
Import-Module WebAdministration
$appPool = Get-ChildItem IIS:\AppPools\ | Where-Object { $_.Name -eq $appPoolName }
if($appPool)
{
$appPool | Set-ItemProperty -Name "processModel.maxProcesses" -Value $maxProcesses
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.