Estoy intentando configurar una cuenta de usuario de dominio como identidad de grupo de aplicaciones en IIS 8 (Windows 2012). Cuando intento esto usando la Consola de administración de IIS, siempre aparece un error:
Valor no se encuentra dentro del rango esperado.
Al intentar establecer la identidad usando appcmd.exe, falla tanto en el comando que establece el nombre de usuario y la contraseña como en el comando que solo establece la contraseña. Configurar el nombre de usuario no es un problema.
Intentando configurar tanto el nombre de usuario como la contraseña [FALLO]:
>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. )
Intentando configurar solo el nombre de usuario [ÉXITO]:
>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"
Intentando establecer la contraseña después de configurar exitosamente el nombre de usuario [FALLO]:
>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. )
Agregué el usuario del dominio al grupo IIS_IUSRS y le permití "iniciar sesión como servicio".
¿Alguna sugerencia de qué podría estar haciendo mal?
Respuesta1
Tuve el mismo problema pero no pude dejar la contraseña en texto claro, así que indagué un poco más y encontré este artículo: Identidad personalizada del grupo de aplicaciones IIS: el valor no se encuentra dentro del rango esperado
El paso clave para diagnosticar es observar los eventos correctos:
Para descubrir cómo resolver esto, entré al visor de eventos. No había nada en el registro de la aplicación, así que me dirigí a Registros de aplicaciones y servicios => Microsoft => Windows => Configuración de IIS. Los inicios de sesión aquí están deshabilitados de forma predeterminada, por lo que deben habilitarse. (Para hacerlo, haga clic derecho en el registro y elija Habilitar registro). Una vez habilitado, vuelva a ejecutar el intento de establecer la identidad y actualice la vista (panel de acciones o F5) y ¡listo!, ahora tenemos más información. sobre el error. En los resultados hubo dos errores (ID de evento 42 y 43).
Tuve los mismos errores de eventos que en el artículo:
ID 42: No se pudo inicializar el proveedor de cifrado 'IISWASOnlyAesProvider' en '\?\C:\windows\system32\inetsrv\config\applicationHost.config'. Por favor verifique su configuración.
ID 43: No se pudo cifrar el atributo 'Microsoft.ApplicationHost.AesProtectedConfigurationProvider'.
Luego hice lo siguiente:
- restaurar una versión anterior del archivo ConfigEncKey.key (a
c:\windows\System32\inetsrv\config
) - reemplazar la
<configProtectedData><providers>
sección por una vieja (enc:\windows\System32\inetsrv\config\applicationHost.config
)
Luego puedo volver a configurar una identidad personalizada para el grupo de aplicaciones.
Respuesta2
Puede tomar la clave privada de otro servidor y simplemente importarla a este servidor exportando primero una clave de otro servidor IIS que funcione: C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -px "iisWasKey" "C:\temp\AESKeys.xml" -pri
En segundo lugar, puede restaurar esa clave en la máquina rota (copie la clave al otro servidor y colóquela en el mismo lugar): C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -pi "iisWasKey" "C :\temp\AESKeys.xml"
En tercer lugar, edite c:\windows\system32\inetsrv\applicationhost.config y use la sección configprotecteddata del servidor en funcionamiento conocido para usar en lugar del que ya está en este archivo.
Se vería así en esta sección:
Si todo va bien, puede probarlo creando un grupo de aplicaciones y luego ir a la configuración avanzada y ejecutarlo como DOMINIO\usuario o algún otro usuario que deba ser.
Tony Trus
Respuesta3
Verifique los enlaces de las aplicaciones configuradas en este grupo de aplicaciones, si tienen enlaces incorrectos, por ejemplo. caracteres no válidos, espacios, etc.
Respuesta4
Intenta cambiar /section:applicationPools
y /section:system.applicationHost/applicationPools
agregar /commit:apphost
al final.
appcmd set config /section:system.applicationHost/applicationPools /[name='AppPoolName'].processModel.identityType:SpecificUser /[name='AppPoolName'].processModel.password:P4ssW0rd /commit:apphost