Pregunta

Estoy recibiendo un error no autorizado de MsDeploy el uso de la autenticación NTLM cuando tratando de implementar remota una aplicación que utiliza un usuario de windows que no es un administrador local en el servidor de destino.He reglas de configuración en el Servicio de Gestión de la Delegación en el cuadro de destino con todos los proveedores marcada.En virtud de este artículo he añadido 2 usuarios con permisos permitir ('*', y mi usuario de windows que está haciendo el despliegue remoto).Además, me han dado las ventanas de los permisos de usuario en el sitio que estoy tratando de implementar.Si puedo hacer que el usuario de windows de la administración local en el cuadro de destino y set 'Permiten a los administradores de derivación de reglas", el implementar funciona correctamente.Si el usuario de windows no es un administrador local me sale el siguiente error:

Web de la tarea de implementación de error.(Agente remoto (URL http://xxxxxxxx/MSDEPLOYAGENTSERVICE) no pudo ser contactado.Asegúrese de que el agente remoto está instalado el servicio y se inicia en el equipo de destino.) Asegúrese de que el nombre del sitio, el nombre de usuario y la contraseña son correctos.Si no se resuelve el problema, póngase en contacto con su oficina local o el administrador del servidor.Detalles del Error:Agente remoto (URL http://xxxxx/MSDEPLOYAGENTSERVICE) no pudo ser contactado.Asegúrese de que el agente remoto está instalado el servicio y se inicia en el equipo de destino.No se ha recibido respuesta.El encabezado de respuesta 'MSDeploy.Respuesta' fue 'V1', sino 'v1' que se esperaba.El servidor remoto devolvió un error:(401) no autorizado.en Microsoft.Web.De publicación.objetivos(3588, 5)

¿Fue útil?

Solución

Si configura la delegación para "permitir que los administradores pasen por alto las reglas" y el comando MSDePloy tiene éxito, entonces está pasando por WMSVC y lo deja pasar. De lo contrario, a partir de la respuesta, parece que WMSVC lo está rechazando y se está volviendo a caer al agente web Deloy.

Establezca/agregue el siguiente valor de REG a la tecla REG WMSVC:

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

Reciclar WMSVC:

net stop wmsvc & net start wmsvc

Intentar otra vez. Si no tiene éxito, ¿puede publicar su línea de comando msdeploy?

Otros consejos

Tenemos una máquina a la que hemos estado implementando como parte de nuestro proceso de construcción. Sin ninguna razón obvia, las implementaciones dejaron de funcionar y ya no podíamos acceder de forma remota a ninguna de las acciones administrativas (C $, administrador $, etc.). Encontramos una solución para las acciones administrativas 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 tengo idea de por qué de repente dejaron de funcionar).

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

Después de hacer eso, Msdeploy de repente comenzó a funcionar nuevamente 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é que lo tiraría por ahí en caso de que resuelva el problema de otra persona.

Finalmente pude obtener mi compilación e implementación automatizada en ejecución con NTLM. Solo quería resumir lo que se necesitaba para que funcionara en caso de que sea útil para cualquiera. 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 WebManement Server /V WindowsAuthenticationEnabled /T Reg_dword /D 1

  2. Proporcione al usuario que ejecute el permiso de servicio de compilación TFS en el directorio del sitio web.

  3. Aquí están los argumentos MSBuild que utilicé. 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: plataforma = "cualquier cpu" /p: desplegable

  4. En IIS Manager con el sitio web de destino seleccionado, abra los permisos de IIS Manager y permita al usuario que ejecute el servicio de compilación TFS.

El rastreo fue muy útil para diagnosticar los problemas. Puede activar la delegación del servicio de gestión en el gerente de IIS. Inicialmente no pude ver la delegación del servicio de gestión en el gerente de IIS. Para demostrar que tenía que 'cambiar' la implementación web de los programas ADD para que se instalara la delegación del servicio 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.

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

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

IIS 7 utiliza el IIS implementación de controlador, el cual es administrado por el Servicio de Administración de Web y permite msdeploy directamente la prestación de IIS.Todo el "servicio de gestión de la delegación", etc ajustes se relacionan con esta configuración.

IIS 6, sin embargo, no tiene el servicio de administración de web, de modo que el controlador no funcionará.IIS6 objetivos, con un servicio llamado MS Implementar El Agente De Servicio es utilizado.

Qué extraño es que su instalación sugiere que usted está utilizando IIS 7, ya que fueron capaces de establecer delgation configuración, etc.Sin embargo, esa url, "/MSDEPLOYAGENTSERVICE" sugiere que su máquina está intentando utilizar el servicio ...casi como si se piensa que sus IIS 6.El servicio requiere acceso de administrador, que es la razón por la que usted está recibiendo el error.

Basado en el error parece que se invoca este de MSbuild, probablemente directamente desde Visual Studio.Usted puede desear mirar en torno a la configuración que se da y ver si hay algo ahí que está causando esta ruta de acceso y/o selección de servidor.

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

Básicamente, usted está queriendo ver que hacer implementar llamadas a diferentes url, http://<>/msdeploy.axd (si mal no recuerdo) para invocar correctamente el controlador.

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

En caso de duda, pregúntese: "¿Has intentado apagarlo y volver a encenderlo?"
Me doy cuenta de que este consejo no ayudará a todos con este error ambiguo, solo unos pocos seleccionados.

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

Error_user_is_not_admin

Asegúrese de estar utilizando el nombre de usuario totalmente calificado.

Mymachinename mywebdeployuser

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

La implementación web dejó de funcionar para nosotros ayer cuando utilizó la identidad actual del usuario 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.

Verificamos todas las recomendaciones para la implementación web y no pudimos resolver el error HTTP 401.2.

Ahora, Microsoft volvió a emitir los parches para ambos boletines específicamente para Windows Server 2003 (KB3033395-V2 y KB3002657-V2). Después de instalar los parches actualizados y iniciar el controlador de dominio, funcionó nuevamente de inmediato. Ni siquiera tuvimos que reiniciar ningún servicio en el servidor web.

No hubo entradas de registro de eventos que apunten a esto, solo se hizo evidente debido a la relación temporal.

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

Mi problema era que los servicios de red eran la cuenta de inicio de sesión en el Servicio de agente de implementación web y su cuenta no tiene permisos suficientes para cambiar o leer archivos IIS ...

Para resolver su problema, solo haga los siguientes pasos:

Abra el panel de servicios (Services.MSC)
Encuentra el Servicio de agente de implementación web y haga doble clic para abrir el Servicio de agente de implementación web Propiedades ... en la pestaña Iniciar sesión Cambie el "Iniciar sesión como" a una cuenta de administrador ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top