这是新域中新设置的服务器。
我向 IIS 添加了网站并为其创建了应用程序池。当我尝试设置其他用户(身份)来运行应用程序池时,我收到错误。
There was an error while performing this operation.
Details :
Value does not fall within expected range.
该用户是域用户并且属于管理员组的一部分,我还将他添加到了 IIS_IUSRS 组 - 但是没有成功。
我尝试使用我的用户帐户,但也没用。只有 localservice 或 localsystem 可以使用,没有自定义用户。由于事件日志为空,我束手无策。我删除了网站,删除了 apppool,重新创建了很多次,但都没有成功。
Windows 服务器 2012,IIS 8
答案1
我在 Windows Server 2012 中也遇到了这个问题。尝试从命令行设置应用程序池标识时,您会收到类似的错误:
C:> appcmd set config /section:applicationPools
/[name='test-pool'].processModel.identityType:SpecificUser
/[name='test-pool'].processModel.userName:MyAccountName
/[name='test-pool'].processModel.password:P@ssw0rd
ERROR ( hresult:80070057, message:Failed to commit configuration changes.
The parameter is incorrect.
)
如果删除最后一个参数,该命令将成功更改身份类型并设置用户名。我一直不明白为什么我无法设置密码,所以我反驳说要编辑我的应用程序主机配置直接输入文件。不幸的是,密码是明文的。
<configuration>
...
<system.applicationHost>
<applicationPools>
...
<add name="test-pool" managedRuntimeVersion="v4.0">
<processModel identityType="SpecificUser"
userName="MyAccountName" password="P@ssw0rd" />
</add>
...
</applicationPools>
...
</system.applicationHost>
...
</configuration>
除了配置应用程序池以使用特定帐户之外,我还做了以下操作:
1) 将用户纳入 IIS_IUSRS 组,间接授予其以批处理作业形式登录的权限。
2)运行以下命令为用户授予权限
aspnet_regiis -ga <your_app_pool_user>
查看更多:如何:为 ASP.NET 2.0 应用程序创建服务帐户 (MSDN)
3)重新启动 WAS 和 IIS,以确保对帐户组成员身份的更改生效。
C:> net stop was /y
C:> net start w3svc
答案2
我在新的 IIS 10 部署中遇到了这个问题。我们的网络团队从旧服务器复制了 applicationhost.config 文件,这导致了这个问题。在 IIS 10 中,有两个新设置可以加密应用程序池标识的密码。由于 IIS 7 配置文件没有这些加密设置,因此 IIS 在分配新用户时会抛出此错误。我只是从全新的服务器版本中复制了设置,它就开始正常工作了。将这两个设置添加到现有的设置中:
<configProtectedData>
<providers>
<add name="IISCngProvider" type="Microsoft.ApplicationHost.CngProtectedConfigurationProvider" description="Uses Win32 Crypto CNG to encrypt and decrypt" keyContainerName="iisCngConfigurationKey" useMachineContainer="true" />
<add name="IISWASOnlyCngProvider" type="Microsoft.ApplicationHost.CngProtectedConfigurationProvider" description="(WAS Only) Uses Win32 Crypto CNG to encrypt and decrypt" keyContainerName="iisCngWasKey" useMachineContainer="true" />
</providers>
</configProtectedData>