我正在尝试使用powershell在IIS中的某个站点上设置windowsauth,这部分脚本到目前为止已在所有环境中运行,现在已经失败,我无法弄清楚原因。
Set-WebConfigurationproperty system.webServer/security/authentication/anonymousAuthentication -name enabled -value false -PSPath "IIS:\" -location $siteName
Set-WebConfigurationproperty system.webServer/security/authentication/windowsAuthentication -name enabled -value true -PSPath "IIS:\" -location $siteName
任何人都知道为什么这个脚本会失败?
我得到了“配置部分'system.serviceModel'无法读取,因为它缺少部分声明”
我可以手动启用Windows身份验证,网站也可以正常旋转。
干杯
答案 0 :(得分:2)
事实证明问题是没有安装.Net 3.5。
由于powershell在没有安装3.5的情况下在.Net2 CLR下运行,因此不知道web.config中有什么system.serviceModel。
安装3.5后,脚本运行正常
答案 1 :(得分:1)
1)验证是否已安装.NET framework 3.0(或更高版本)。
2)以管理员身份执行以下命令:
“%WINDIR%\ Microsoft.Net \ Framework \ v3.0 \ Windows Communication Foundation \ ServiceModelReg.exe”-i
希望可以提供帮助