WebDeploy (401) Error no autorizado


Recibo un error no autorizado de MSDeploy utilizando la autenticación NTLM cuando intento implementar de forma remota una aplicación utilizando un usuario de Windows que no es un administrador local en el servidor de destino. Tengo reglas de configuración en la Delegación de Servicios de Administración en el cuadro de destino con todos los proveedores marcados. Bajo esta regla he agregado 2 usuarios con permisos allow ('*', y mi usuario de Windows que está haciendo la implementación remota). Además, le he dado permiso al usuario de Windows en el sitio Estoy tratando de implementar. Si hago que el usuario de Windows sea un administrador local en el cuadro de destino y establezco 'Permitir que los administradores omitan las reglas', la implementación funciona correctamente. Si el usuario de Windows no es un administrador local obtengo el siguiente error:

Falló la tarea de implementación web.(Remote agent (URL http://xxxxxxxx/MSDEPLOYAGENTSERVICE ) no pudo ser contactado. Asegúrese de que el servicio de remote agent esté instalado e iniciado en el equipo de destino.) Asegúrese de que el nombre del sitio, nombre de usuario, y la contraseña es correcta. Si el problema no se resuelve, póngase en contacto con el administrador local o del servidor. Detalles del error: Remote agent (URL http://xxxxx/MSDEPLOYAGENTSERVICE ) no pudo ser contactado. Asegúrese de que el servicio de remote agent esté instalado e iniciado en el equipo de destino. An unsupported response was received. El encabezado de respuesta ' MSDeploy.La respuesta ' fue ' V1 'pero' v1 ' se esperaba. El servidor remoto devolvió un error: (401) Unauthorized. en Microsoft.Web.Publicar.objetivos (3588, 5)

Author: cfbarbero, 2011-01-26

10 answers

Si configura la delegación para "Permitir que los administradores omitan las reglas" y el comando msdeploy tiene éxito, entonces está pasando por WMSvc y le está permitiendo pasar. De lo contrario, de la respuesta parece que WMSvc te está rechazando y estás cayendo de nuevo a Web Deloy agent.

Establezca / agregue el siguiente valor reg a la clave reg de WMSvc:

reg add HKLM\Software\Microsoft\WebManagement\Server /v WindowsAuthenticationEnabled /t REG_DWORD /d 1

Reciclar WMSvc:

net stop wmsvc & net start wmsvc

Inténtalo de nuevo. Si no tiene éxito, puede publicar su línea de comandos msdeploy.

 49
Author: kateroh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-29 00:15:36

Tenemos una máquina en la que hemos estado implementando como parte de nuestro proceso de compilación. Por ninguna razón obvia, los deploys dejaron de funcionar y ya no podíamos acceder remotamente a ninguno de los recursos compartidos administrativos (C ADMIN, ADMIN ADMIN, etc.).). Encontramos una solución para los recursos compartidos administrativos que también solucionó los problemas de implementación.

Seguimos el paso en este artículo de KB para volver a habilitar las acciones administrativas (todavía no tenemos idea de por qué se detuvieron repentinamente trabajo).

Http://support.microsoft.com/kb/947232

Después de hacer eso, msdeploy de repente comenzó a funcionar de nuevo también. No pensé que msdeploy usara acciones administrativas en absoluto. Ni siquiera estoy seguro de que los dos están relacionados en absoluto, pero pensé en tirarlo por ahí en caso de que resuelva el problema de alguien más.

 5
Author: Jon Turner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-28 21:15:40

Finalmente pude hacer que mi compilación e implementación automatizada se ejecutara usando NTLM. Solo quería resumir lo que tomó para ponerlo en marcha en caso de que sea útil para alguien. Esto es con IIS 7.5.

  1. Establezca la configuración del registro y reinicie el Servicio de Administración Web (WMSVC):

    Reg add HKLM \ Software \ Microsoft \ WebManagement \ Server /v WindowsAuthenticationEnabled /t REG_DWORD / d 1

  2. Otorgar permiso al usuario que ejecuta el servicio de compilación TFS en el sitio web directorio.

  3. Aquí están los argumentos de MSBuild que usé. Reemplace los diversos nombres con sus nombres. Estaba usando DEV y Cualquier CPU. También necesitaba permitir un certificado no confiable.

    /m /p:PublishProfile=DEV /p:Configuration=DEV /p:Platform="Any CPU" /p:DeployOnBuild=true /p:AllowUntrustedCertificate=true /p:AuthType=NTLM

  4. En Administrador de IIS con el sitio web de destino seleccionado, abra los permisos del Administrador de IIS y permita que el usuario ejecute la compilación TFS Servicio.

El rastreo fue muy útil para diagnosticar los problemas. Puede activar el rastreo en la delegación de Servicios de administración en Administrador de IIS. Inicialmente no podía ver la Delegación de Servicios de Gestión en el Administrador de IIS. Para llegar a mostrar tuve que 'cambiar' Web Deploy desde Agregar Programas para que se instalara la Delegación de Servicios de Administración. Parecía que estaba instalado, pero restablecí el menú desplegable para instalar en mi computadora y completé la instalación. Luego apareció en IIS Manager.

 4
Author: EricksonG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-19 23:47:52

No estoy seguro de la causa exacta, pero puede ser capaz de ayudarle a encontrar su camino.

WebDeploy utiliza dos puntos de entrada basados en la configuración del servidor remoto, es decir, si está ejecutando IIS6 o IIS7.

IIS 7 utiliza el controlador de implementación IIS, que es administrado por el Servicio de Administración Web y permite a msdeploy aprovisionar directamente IIS. Todas las configuraciones de" delegación de servicios de administración", etc. se relacionan con esta configuración.

IIS 6, sin embargo, no tiene la web servicio de gestión para que el controlador no funcione. Para los destinos IIS6, se utiliza un servicio llamado MS Deploy Agent Service.

Lo que es extraño es que su configuración sugiere que está usando IIS 7, ya que pudo establecer la configuración de la ubicación, etc. Sin embargo, esa url, "/MSDEPLOYAGENTSERVICE" sugiere que su máquina está intentando usar el servicio ... casi como si pensara en su IIS 6. El servicio requiere acceso de administrador, por lo que está recibiendo ese error.

Basado en el error parece que está invocando esto desde MSBuild, probablemente directamente desde Visual Studio. Es posible que desee mirar alrededor de la configuración que se le da y ver si algo allí está causando esta ruta y/o selección de servidor.

También asegúrese de que el Servicio de Administración Web se esté ejecutando en la máquina remota.

Básicamente quieres verlo hacer llamadas de despliegue a una url diferente, http:///msdeploy.axd (si no recuerdo mal) para invocar correctamente el controlador.

 3
Author: Taylor Bird,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-27 23:19:16

Esto consumió demasiadas horas de mi tiempo. Ya tenía Web Deploy trabajando para mis otros sitios. Decidí agregar un nuevo sitio web a mi servidor, e intenté implementarlo (pero accidentalmente dejé el mismo nombre" Sitio/aplicación " debido a un error de copiar/pegar excesivo). La publicación tuvo éxito, pero cuando me di cuenta de que publiqué en el sitio equivocado (en lugar del nuevo sitio), cambié el nombre del sitio y traté de volver a implementar, pero seguí recibiendo este error. Lo intenté todo en el final del IIS de cosas. Finalmente, acabo de cerrar mi instancia de Visual Studio 2010 por completo. Lo abrí de nuevo, probé la publicación de nuevo y funcionó!

Cuando tengas dudas, pregúntate: "¿Has intentado apagarlo y encenderlo de nuevo?"
Me doy cuenta de que este consejo no ayudará a todos con este error ambiguo, solo a unos pocos seleccionados.

 2
Author: MikeTeeVee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-27 21:56:58

Si su usuario es un administrador, pero aún obtiene

ERROR_USER_IS_NOT_ADMIN

Asegúrese de que está utilizando el nombre de usuario completo.

MyMachineName\MyWebDeployUser

 1
Author: Dann,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-27 15:33:06

Creo que tu problema es muy simple... Tenía el mismo problema que tú...

De hecho, mi problema era que los Servicios de Red era la Cuenta de inicio de sesión en el Servicio Agente de Despliegue Web y la Cuenta de ti no tiene permisos suficientes para cambiar o leer archivos de IIS...

Para resolver su problema simplemente haga los siguientes pasos:

Abra los Servicios Painel (servicios.msc)
Encuentre el Servicio de Agente de Despliegue Web y Haga doble clic para abrir el agente de despliegue web Propiedades Service... En la pestaña Iniciar sesión, cambie la opción "Iniciar sesión como" a una cuenta de Administrador...

Espero ayudarte

 0
Author: Ricardo Almeida,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-28 20:32:29

Ayer pude implementar muy bien, hoy tenía exactamente el mismo mensaje de error. Después de una hora o dos de solución de problemas terminé eliminando el dominio de mi nombre de usuario. Donde antes era [dominio] / [nombre de usuario], lo cambié a solo [nombre de usuario], lo' y he aquí, comenzó a funcionar de nuevo. Sé que esta no es una gran respuesta, pero tal vez ayude a alguien más que la encuentre.

 0
Author: Ken Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-17 15:36:14

Web Deploy dejó de funcionar para nosotros ayer al usar la identidad del usuario actual de Windows (funcionó con credenciales explícitas) después de instalar los parches para MS15-025 y MS15-027 en uno de nuestros controladores de dominio que ejecuta Windows Server 2003.

Comprobamos todas las recomendaciones para Web Deploy y no pudimos resolver el error HTTP 401.2.

Ahora, Microsoft reeditó los parches para ambos boletines específicamente para Windows Server 2003 (KB3033395-v2 y KB3002657-v2). Después de instalar los parches actualizados y arrancar el controlador de dominio, funcionó de nuevo inmediatamente. Ni siquiera tuvimos que reiniciar ningún servicio en el servidor Web.

No había entradas de Registro de eventos que apuntaran a esto, solo se hizo obvio debido a la relación temporal.

 0
Author: realMarkusSchmidt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-17 00:36:47

Existe otra posibilidad: su cuenta se ha bloqueado debido a demasiados intentos fallidos de implementar con web deploy. Restablezca su cuenta o haga que el administrador del sistema lo haga por usted. Muy frustrante.

 0
Author: saille,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-02 03:21:33