Это недавно созданный сервер в новом домене.
Я добавил веб-сайт в IIS и создал для него пул приложений. Как только я пытаюсь установить другого пользователя (Identity) для запуска пула приложений, я получаю сообщение об ошибке.
There was an error while performing this operation.
Details :
Value does not fall within expected range.
Пользователь является пользователем домена и входит в группу администраторов, я также добавил его в группу IIS_IUSRS - безуспешно.
Я попытался использовать свою учетную запись пользователя, но это тоже не сработало. Только localservice или localsystem работают, пользовательских пользователей нет. Поскольку журнал событий пуст, у меня заканчиваются идеи. Я удалил пул приложений удаленного сайта, пересоздавал уже много раз, безуспешно.
Windows Server 2012, IIS 8
Я также столкнулся с этой проблемой в 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.
)
Если вы удалите последний параметр, команда успешно изменит тип удостоверения и установит имя пользователя. Я так и не понял, почему я не могу установить пароль, поэтому я ответил на редактирование своего applicationHost.config файл напрямую. К сожалению, с паролем в открытом виде.
<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
У меня возникла эта проблема с новым развертыванием 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>