La création de la tâche de déploiement Web a échoué


86

Scénario:

J'ai configuré avec succès la tâche Webdeploy TFS2010 pour la solution. Tout a bien fonctionné jusqu'à ce que soudainement quelque chose se passe mal dans la tâche de déploiement.

La solution a 2 projets Web .. ceux-ci sont configurés pour se déployer lors de la compilation et le publier sur le serveur de développement.

Quelqu'un sait-il ce qui ne va pas dans la construction (informations ci-dessous)?

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.

Je peux donner plus d'informations si quelqu'un en a besoin.


1
Si vous venez à cette question plus récemment, veuillez consulter la réponse
Sethi

Réponses:


209

J'ai rencontré le même problème lors de la construction via TFS. Lorsque j'ai essayé d'importer manuellement le site Web, j'ai eu une erreur plus informative: "impossible de se connecter à l'utilisateur \ WDeployConfigWriter".

Il s'avère que lorsque vous installez le déploiement Web, il configure deux comptes locaux WDeployConfigWriter et WDeployAdmin. Les mots de passe de ces comptes expirent. Réinitialisez donc les mots de passe sur le serveur Web et définissez-le sur "ne jamais expirer". Accédez ensuite à Délégation du service de gestion dans IIS. Chacune des règles présentées a un champ UserName. Où il est WDeployAdmin ou WDeployConfigWriter cliquez avec le bouton droit et mettez à jour les informations d'identification avec les nouveaux mots de passe.

Une explication complète avec des captures d'écran peut être trouvée ici: http://workinghardinit.wordpress.com/2011/07/18/wdeployconfigwriter-account-issues-trouble-shooting-web-deploy-2-0-with-lessons-learned/


21
Si les mots de passe n'ont pas été modifiés, vous pouvez simplement définir les comptes WDeployConfigWriter et WDeployAdmin sur «L'utilisateur ne peut pas modifier le mot de passe» et «Le mot de passe n'expire jamais». Dans notre cas "Le mot de passe du compte spécifié a expiré." était dans le journal de sécurité lors d'une nouvelle installation de serveur.
GoClimbColorado

2
Agréable. C'était le problème dans mon cas. J'ai défini le mot de passe de l'utilisateur WDeployConfigWriter pour qu'il n'expire pas et cela a résolu le problème.
Stan the DBA

2
J'ai pu trouver une erreur similaire dans l'observateur d'événements (sur le serveur 2012 dans Applications et journaux de service >> Microsoft Web Deploy). L'erreur apparaît dans les détails comme suit: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

Toujours en février 2016, j'ai rencontré ce problème étrange sur le serveur Windows 2008R2 et votre solution a fonctionné pour moi.
Ehsan Mirsaeedi le

2
Je peux confirmer que vous n'avez PAS besoin de changer le mot de passe. Définir «le mot de passe n'expire jamais» suffit à résoudre le problème sans les étapes supplémentaires, selon le commentaire de @ GoClimbColorado
NickG

41

Tout ce que vous avez à faire est de réexécuter le script "AddDelegationRules.ps1" situé dans "C: \ Program Files \ IIS \ Microsoft Web Deploy V3 \ Scripts \"

Il s'agit du script qui est exécuté lors de la première installation du déploiement Web. Il recrée toutes les délégations manquantes, redéfinit les mots de passe pour WebDeployAdmin et WebDeployConfigWriter, et ajoute WebDeployAdmin au groupe Administrateurs.

Vous devrez toujours définir le mot de passe de chaque compte pour qu'il n'expire pas après la réexécution du script.


Vos conseils m'ont beaucoup aidé. J'ai trouvé et exécuté ce script "AddDelegationRules.ps1" avec "poverShell". J'utilise le serveur 2012 r2 win et VS2017.
Roberto Gata le

12

Nous avons eu le même problème - dans notre cas, nous n'utilisons que MSDeploy (sans TFS ). La réinitialisation du mot de passe pour ces 2 comptes locaux ( WDeployConfigWriter et WDeployAdmin ) a résolu le problème car leurs mots de passe avaient expiré . Nous avons tenté de modifier la politique de mot de passe pour qu'elle n'expire jamais, mais seul un administrateur local peut le faire.


2
Je viens d'utiliser cette réponse pour résoudre cela moi-même. Il y avait une étape de plus pour moi cependant ... Une fois que vous avez réinitialisé les informations d'identification, vous devez aller dans IIS> Délégation des services de gestion, puis sélectionnez chaque règle et appuyez sur Modifier . Si la règle utilise le compte WDeployConfigWriter , appuyez sur le bouton Définir ... et entrez à nouveau les nouvelles informations d'identification que vous venez de mettre à jour.
EvilDr

3
Ce n'est vraiment qu'une demi-réponse ... pour éviter que les mots de passe n'expirent, ouvrez le gestionnaire de groupe local (exécuter lusrmgr.msc), les utilisateurs (dans la barre latérale), double-cliquez sur le nom du compte et cochez "le mot de passe n'expire jamais".
Kat

J'ai pu résoudre ce problème en décochant simplement le User must change password at next loginet je n'ai pas changé physiquement les mots de passe
Chris Schaller

3

exécutez cette commande lusrmgr.msc double-cliquez sur l'utilisateur et double-cliquez sur le nom du compte, et cochez "le mot de passe n'expire jamais". entrez la description de l'image ici

entrez la description de l'image ici Terminé.


Je l'ai fait vérifier, mais j'ai un problème avec le déploiement
Piotr Piątkiewicz
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.