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