首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在IIS 8中将域用户的密码设置为ApplicationPool标识

无法在IIS 8中将域用户的密码设置为ApplicationPool标识
EN

Server Fault用户
提问于 2013-09-06 07:38:03
回答 5查看 11.9K关注 0票数 6

我试图在IIS8(Windows2012)中将域用户帐户设置为ApplicationPool标识。在使用IIS管理控制台尝试此操作时,总是会出现以下错误:

值不属于预期范围。

当尝试使用appcmd.exe设置标识时,它在设置用户名和密码的命令或仅设置密码的命令上都失败。设置用户名没有问题。

尝试同时设置用户名和密码失败:

代码语言:javascript
复制
>appcmd set config /section:applicationPools /[name='AppPoolName'].processModel.identityType:SpecificUser /[name='AppPoolName'].processModel.userName:DOMAIN\Username /[name='AppPoolName'].processModel.password:P4ssW0rd
Applied configuration changes to section "system.applicationHost/applicationPools" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"
ERROR ( hresult:80070057, message:Failed to commit configuration changes. The parameter is incorrect. )

尝试只设置用户名成功:

代码语言:javascript
复制
>appcmd set config /section:applicationPools /[name='AppPoolName'].processModel.identityType:SpecificUser /[name='AppPoolName'].processModel.userName:DOMAIN\Username
Applied configuration changes to section "system.applicationHost/applicationPools" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"

成功设置用户名失败后,尝试设置密码:

代码语言:javascript
复制
>appcmd set config /section:applicationPools /[name='AppPoolName'].processModel.identityType:SpecificUser /[name='AppPoolName'].processModel.password:P4ssW0rd
Applied configuration changes to section "system.applicationHost/applicationPools" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"
ERROR ( hresult:80070057, message:Failed to commit configuration changes. The parameter is incorrect. )

我将域用户添加到IIS_IUSRS组中,并允许它“以服务登录”。

有什么建议我可能做错了吗?

EN

回答 5

Server Fault用户

发布于 2015-03-30 13:35:11

根据如何设置应用程序,以便它可以访问网络共享而不使用AD?

我也有同样的问题,但不能让密码在明文中,所以我再深入一点,找到了本文:自定义IIS标识:值不属于预期范围

诊断的关键步骤是查看正确的事件:

为了弄清楚如何解决这个问题,我进入了事件查看器。应用程序日志中没有任何内容,因此我转到应用程序和服务日志( => Microsoft => => IIS-Configuration )。这里的日志默认是禁用的,因此必须启用它们。(为此,右键单击日志,然后选择Enable。)一旦启用,重新运行设置标识的尝试,并刷新视图(操作窗格或F5)和瞧!,现在我们有了关于错误的更多信息。结果是两个错误(事件ID 42和43)。

我遇到了与文章中相同的事件错误:

ID 42:未能在'\?\C:\windows\system32\inetsrv\config\applicationHost.config'.中初始化“IISWASOnlyAesProvider”加密提供程序请检查您的配置。ID 43:未能加密属性'Microsoft.ApplicationHost.AesProtectedConfigurationProvider'.

然后我做了以下几件事:

  • 还原ConfigEncKey.key文件的旧版本(到c:\windows\System32\inetsrv\config )
  • <configProtectedData><providers>部分替换为旧部分(在c:\windows\System32\inetsrv\config\applicationHost.config中)

然后,我可以再次为应用程序池设置自定义标识。

票数 2
EN

Server Fault用户

发布于 2017-06-19 21:01:27

您可以从另一台服务器获取私钥并将其导入到此服务器,方法是首先从另一个运行正常的IIS服务器导出密钥: C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -px "iisWasKey“"C:\temp\AESKeys.xml”-pri。

其次,您可以在故障机器上还原该密钥(将密钥复制到另一台服务器,并将其放在相同的位置):C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -pi "iisWasKey“"C:\temp\AESKeys.xml”

第三,编辑c:\windows\system32\inetsrv\applicationhost.config并使用已知工作服务器中的configprotecteddata部分来代替该文件中已经存在的部分。

它看起来就像这一节:

如果一切顺利,那么您可以通过创建一个应用程序池来测试它,然后转到高级设置,并以域\ user或它需要的其他用户的身份运行它。

托尼·特鲁斯

票数 1
EN

Server Fault用户

发布于 2013-09-06 13:17:07

检查在此应用程序池上配置的应用程序的绑定,如果它们有任何不正确的绑定,例如。无效字符、空格等。

来源

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/536882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档