如何使用Set-ItemProperty为与IIS WebSite关联的每个应用程序设置EnabledProtocols?

时间:2017-12-29 06:18:28

标签: powershell iis powershell-v2.0 powershell-v3.0

以下powershell成功更新了我的网站“测试服务”

的EnabledProtocols属性
Set-ItemProperty 'IIS:\sites\Test Services' -name EnabledProtocols -Value 
"http,net.tcp,net.pipe"

是否有任何Powershell专家知道为与WebSite“测试服务”相关联的每个WebApplication设置EnabledProtocols属性的语法?

1 个答案:

答案 0 :(得分:1)

您需要使用where $_.Schema.Name -eq "Application"在网站下查找应用程序。然后,对于使用Set-ItemProperty的每个应用程序,设置enabledProtocols属性值。

示例

您应该以管理员身份运行以下脚本:

Import-Module WebAdministration -Force
Get-ChildItem "IIS:\sites\test" |
    Where-Object {$_.Schema.Name -eq "Application"} | 
    ForEach-Object { 
        Set-ItemProperty $_.PSPath `
        -name enabledProtocols -Value "http,net.tcp,net.pipe"}

重要提示

  • 该脚本应以管理员身份运行。
  • 注意属性名称的字符大小写。
  • 还要确保导入WebAdministration模块。) 还要注意enabledProtocols名称,使用驼峰语法。