Error en la compilación de la tarea de implementación web

86

Guión:

Configuré con éxito la tarea de implementación web TFS2010 para la solución. Todo funcionó bien hasta que, de repente, algo salió mal en la tarea de implementación.

La solución tiene 2 proyectos web ... los que están configurados para implementarse en la construcción y publicarlos en el servidor de desarrollo.

¿Alguien tiene conocimiento de lo que está mal en la construcción (información a continuación)?

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets
(3847): Web deployment task failed.
((4.8.2011 11:01:10) An error occurred when the request was processed on the remote computer.)
(4.8.2011 11:01:10) An error occurred when the request was processed on the remote computer. Unable to perform the operation. Please contact your server administrator to check authorization and delegation settings.

Puedo dar más información si alguien la necesita.

SAV
fuente
1
Si ha llegado a esta pregunta más recientemente, consulte la respuesta más reciente
Sethi

Respuestas:

209

Encontré el mismo problema al compilar a través de TFS. Cuando intenté importar manualmente el sitio web, obtuve un error más informativo: "no puedo iniciar sesión en el usuario \ WDeployConfigWriter".

Resulta que cuando instalas la implementación web, configura dos cuentas locales WDeployConfigWriter y WDeployAdmin. Las contraseñas de estas cuentas están programadas para expirar. Por lo tanto, restablezca las contraseñas en el servidor web y configúrelas en "nunca caducar". Luego, vaya a Delegación de servicios de administración en IIS. Cada una de las reglas presentadas tiene un campo UserName. Donde está WDeployAdmin o WDeployConfigWriter, haga clic derecho y actualice las credenciales a las nuevas contraseñas.

Puede encontrar una explicación completa con capturas de pantalla aquí: http://workinghardinit.wordpress.com/2011/07/18/wdeployconfigwriter-account-issues-trouble-shooting-web-deploy-2-0-with-lessons-learned/

bucktronic
fuente
21
Si las contraseñas no se han cambiado, simplemente puede configurar las cuentas WDeployConfigWriter y WDeployAdmin en "El usuario no puede cambiar la contraseña" y "La contraseña nunca caduca". En nuestro caso, "La contraseña de la cuenta especificada ha caducado". estaba en el registro de seguridad en una nueva instalación del servidor.
GoClimbColorado
2
Agradable. Este fue el problema en mi caso. Configuré la contraseña del usuario de WDeployConfigWriter para que no expirara y esto resolvió el problema.
Stan the DBA
2
Pude encontrar un error similar en el visor de eventos (en Server 2012 en Aplicaciones y registros de servicio >> Microsoft Web Deploy). El error se muestra en los detalles como:Microsoft.Web.Delegation.DeploymentAuthorizationException: Not able to log on the user '.\WDeployConfigWriter'. ---> System.Runtime.InteropServices.COMException: The password for this account has expired.
Jon Egerton
Aún en febrero de 2016, encontré este extraño problema en Windows Server 2008R2 y su solución funcionó para mí.
Ehsan Mirsaeedi
2
Puedo confirmar que NO es necesario que cambie la contraseña. Establecer "la contraseña nunca caduca" es suficiente para solucionar el problema sin los pasos adicionales, según el comentario de @ GoClimbColorado
NickG
41

Todo lo que tiene que hacer es volver a ejecutar el script "AddDelegationRules.ps1" ubicado en "C: \ Archivos de programa \ IIS \ Microsoft Web Deploy V3 \ Scripts \"

Este es el script que se ejecuta cuando se instala por primera vez la implementación web. Volverá a crear las delegaciones que falten, restablecerá las contraseñas de WebDeployAdmin y WebDeployConfigWriter, y agregará WebDeployAdmin de nuevo al grupo de administradores.

Aún necesitaría establecer la contraseña en cada cuenta para que no caduque después de volver a ejecutar el script.

Será
fuente
Tu consejo me ayudó mucho. Encontré y ejecuté este script "AddDelegationRules.ps1" con "poverShell". Estoy usando el servidor 2012 r2 win y VS2017.
Roberto Gata
12

Tuvimos el mismo problema: en nuestro caso, solo usamos MSDeploy (sin TFS ). Restablecer la contraseña para esas 2 cuentas locales ( WDeployConfigWriter y WDeployAdmin ) resolvió el problema ya que sus contraseñas habían expirado . Intentamos cambiar la política de contraseñas para que nunca caduque, pero solo un administrador local puede hacerlo.

jmazin
fuente
2
Solo usé esta respuesta para resolver esto yo mismo. Sin embargo, hubo un paso más para mí ... Una vez que haya restablecido las credenciales, debe ir a IIS> Delegación de servicios de administración, luego seleccionar cada regla y presionar Editar . Si la regla usa la cuenta WDeployConfigWriter , presione el botón Establecer ... y vuelva a ingresar las nuevas credenciales que acaba de actualizar.
EvilDr
3
Esta es realmente solo una respuesta a medias ... para evitar que las contraseñas caduquen, abra el administrador de grupo local (ejecutar lusrmgr.msc), los usuarios (en la barra lateral), haga doble clic en el nombre de la cuenta y marque "la contraseña nunca caduca".
Kat
Pude resolver esto simplemente desmarcando User must change password at next loginy no cambié físicamente las contraseñas
Chris Schaller
3

ejecute este comando lusrmgr.msc haga doble clic en el usuario y haga doble clic en el nombre de la cuenta, y marque "la contraseña nunca expira". ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí Hecho.

donprecious iyeritufu
fuente
Lo revisé, pero tengo problemas con la implementación
Piotr Piątkiewicz