![](/img/trans.png)
[英]How to set Require SSL for an IIS web site using Powershell IISAdministration module on Windows 2016
[英]Hot to set Require SSL on IIS application by PowerShell
尝试这样的事情:
$site = Get-IISSite |? Name -Match <...>
$app = $site.Applications |? Path -Match <...>
$app.SetAttributeValue('sslFlags', 'Ssl')
事实是sslFlags
仍然不存在,显然SetAttributeValue
无法添加新属性,因为我收到错误消息。
Exception while calling "SetAttributeValue" with "2" arguments: "Index not valid. (Exception from HRESULT: 0x80070585)" (translated)
执行此操作的正确方法是什么?
我建议改用 app.exe。 例如,我在“默认 Web 站点”下有一个 webapi(name:testapp),现在我想在 powershell 中将键“sslFlags”设置为“Ssl”:
sslFlags 位于以下部分:system.webserver/security/access 检查 Microsoft 文档
1:解锁部分
& "$env:SystemRoot\System32\.netsrv\appcmd.exe" 解锁配置 /section:system.webServer/security/access
2:修改
& "$env:SystemRoot\System32\.netsrv\appcmd.exe" set config "Default Web Site/testapp" /section:system.webServer/security/access /sslFlags:"Ssl"
然后 web.config 改变了。
经过一些调查,我发现新的IISAdministration
模块的 Powershell 方式应该是这样的:
$site = Get-IISSite |? Name -Match <...>
$service = $site.Applications |? Path -Match <...>
Get-IISConfigSection -Location $service -SectionPath "system.webServer/security/access" | Set-IISConfigAttributeValue -AttributeName sslFlags -AttributeValue Ssl
有人可以确认吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.