我一直在尝试构建一个PowerShell脚本来构建应用程序池并在IIS中设置正确的限制以避免手动执行,但我无法弄清楚如何调整默认站点中的最大请求实体主体限制#39 ; s限制属性。我发现了一些CMD示例:
appcmd set config /section:asp /maxRequestEntityAllowed: int
但我没有appcmd,而且我真的更愿意使用powershell这样做,因为我已经能够使用webadministration模块创建和更新其他IIS设置 EX
[string]$Account = $cred.UserName
[string]$AccountPW = $cred.Password | ConvertFrom-SecureString
If(!(Get-Module WebAdministation))
{
import-module WebAdministration
}
$iisAppPoolPath = "IIS:\AppPools\TEST"
$oappPool = New-Item $iisAppPoolPath
$oappPool | Set-ItemProperty -name "enable32BitAppOnWin64" -Value "true"
$oappPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value "v4.0"
$oappPool | Set-ItemProperty -Name "managedPipelineMode" -Value "Classic"
$oappPool | Set-ItemProperty -name "processModel" -value @{userName=$Account;password=$AccountPW;identitytype=3}
我一直在阅读一些不同的文章和参考文献,但我似乎无法弄清楚这一部分。我可以获得默认网站,但我不确定我需要设置哪个元素才能更新值
Get-Item 'IIS:\Sites\Default Web Site\'
任何建议都将不胜感激
我也试过了,但它没有用
Set-WebConfigurationProperty /system.webserver/asp/limits -name maxRequestEntityAllowed -value "10485760"
参考:http://www.zerrouki.com/classic-asp-upload-file-fails-200kb/
答案 0 :(得分:0)
我明白了。它不使用set-item函数,但它起作用:
set-WebConfigurationProperty -location 'Default Web Site' -filter "system.webServer/asp/limits" -name "maxRequestEntityAllowed" -value 123456789
位置参数和“标记差异
答案 1 :(得分:0)
类似这样的方法可以设置所有站点:
Import-Module "WebAdministration"
Get-ChildItem IIS:\Sites | select -expand Name | % {
Set-WebConfigurationProperty -Location $_ -Filter "system.webServer/asp/limits" -Name "maxRequestEntityAllowed" -Value 40000000
}