Die Erstellung der Webbereitstellungsaufgabe ist fehlgeschlagen


86

Szenario:

Ich habe die Webbereitstellungsaufgabe TFS2010 für die Lösung erfolgreich eingerichtet. Alles hat gut funktioniert, bis plötzlich etwas bei der Bereitstellungsaufgabe schief gelaufen ist.

Die Lösung verfügt über 2 Webprojekte, die so konfiguriert sind, dass sie beim Erstellen bereitgestellt und auf dem Dev-Server veröffentlicht werden.

Hat jemand ein Wissen darüber, was beim Build falsch ist (Informationen unten)?

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.

Ich kann weitere Informationen geben, wenn jemand sie benötigt.


1
Wenn Sie zu dieser Frage in jüngerer Zeit kommen, sehen Sie bitte die neueste Antwort
Sethi

Antworten:


207

Beim Erstellen über TFS ist das gleiche Problem aufgetreten. Beim Versuch, die Website manuell zu importieren, wurde eine informativere Fehlermeldung angezeigt: "Benutzer \ WDeployConfigWriter kann nicht angemeldet werden".

Es stellt sich heraus, dass bei der Installation von Web Deploy zwei lokale Konten eingerichtet werden: WDeployConfigWriter und WDeployAdmin. Die Passwörter für diese Konten laufen ab. Setzen Sie also die Passwörter auf dem Webserver zurück und setzen Sie sie auf "nie ablaufen". Wechseln Sie dann zu Management Service Delegation in IIS. Jede der dargestellten Regeln verfügt über ein Feld Benutzername. Wo es sich um WDeployAdmin oder WDeployConfigWriter handelt, klicken Sie mit der rechten Maustaste und aktualisieren Sie die Anmeldeinformationen auf die neuen Kennwörter.

Eine vollständige Erklärung mit Screenshots finden Sie hier: http://workinghardinit.wordpress.com/2011/07/18/wdeployconfigwriter-account-issues-trouble-shooting-web-deploy-2-0-with-lessons-learned/


21
Wenn die Kennwörter nicht geändert wurden, können Sie die Konten WDeployConfigWriter und WDeployAdmin einfach auf "Benutzer kann Kennwort nicht ändern" und "Kennwort läuft nie ab" setzen. In unserem Fall "Das Passwort des angegebenen Kontos ist abgelaufen." war im Sicherheitsprotokoll auf einer neuen Serverinstallation.
GoClimbColorado

2
Nett. Dies war das Problem in meinem Fall. Ich habe das Kennwort des WDeployConfigWriter-Benutzers so festgelegt, dass es nicht abläuft. Dadurch wurde das Problem behoben.
Stan der DBA

2
Ich konnte einen ähnlichen Fehler in der Ereignisanzeige finden (auf Server 2012 unter Anwendungen und Dienstprotokolle >> Microsoft Web Deploy). Fehler zeigt in den Details als: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

Noch im Februar 2016 stieß ich auf dieses seltsame Problem unter Windows Server 2008R2 und Ihre Lösung funktionierte für mich.
Ehsan Mirsaeedi

2
Ich kann bestätigen, dass Sie das Passwort NICHT ändern müssen. Die Einstellung "Passwort läuft nie ab" reicht aus, um das Problem ohne die zusätzlichen Schritte zu beheben, wie im Kommentar von @ GoClimbColorado
NickG

40

Sie müssen lediglich das Skript "AddDelegationRules.ps1" unter "C: \ Programme \ IIS \ Microsoft Web Deploy V3 \ Scripts \" erneut ausführen.

Dies ist das Skript, das ausgeführt wird, wenn die Webbereitstellung zum ersten Mal installiert wird. Fehlende Delegierungen werden neu erstellt, die Kennwörter für WebDeployAdmin und WebDeployConfigWriter neu festgelegt und WebDeployAdmin wieder zur Gruppe Administratoren hinzugefügt.

Sie müssten weiterhin das Kennwort für jedes Konto festlegen, damit es nach dem erneuten Ausführen des Skripts nicht abläuft.


Ihr Rat hat mir sehr geholfen. Ich habe dieses Skript "AddDelegationRules.ps1" mit "poverShell" gefunden und ausgeführt. Ich benutze 2012 R2 Win Server und VS2017.
Roberto Gata

12

Wir hatten das gleiche Problem - in unserem Fall verwenden wir nur MSDeploy (ohne TFS ). Das Zurücksetzen des Kennworts für diese beiden lokalen Konten ( WDeployConfigWriter und WDeployAdmin ) löste das Problem, da ihre Kennwörter abgelaufen waren . Wir haben versucht, die Kennwortrichtlinie so zu ändern, dass sie niemals abläuft. Dies kann jedoch nur ein lokaler Administrator .


2
Ich habe diese Antwort nur verwendet, um das selbst zu lösen. Es gab jedoch noch einen weiteren Schritt für mich ... Nachdem Sie die Anmeldeinformationen zurückgesetzt haben, müssen Sie zu IIS> Management Services-Delegierung gehen, dann jede Regel auswählen und auf Bearbeiten klicken . Wenn die Regel das WDeployConfigWriter- Konto verwendet, klicken Sie auf die Schaltfläche Festlegen ... und geben Sie die neuen Anmeldeinformationen erneut ein, die Sie gerade aktualisiert haben.
EvilDr

3
Dies ist wirklich nur eine halbe Antwort ... um zu verhindern, dass die Kennwörter ablaufen, öffnen Sie den lokalen Gruppenmanager (Ausführen lusrmgr.msc), Benutzer (in der Seitenleiste), doppelklicken Sie auf den Kontonamen und aktivieren Sie "Kennwort läuft nie ab".
Kat

Ich konnte dies beheben, indem ich einfach das User must change password at next loginKontrollkästchen deaktivierte und die Passwörter nicht physisch änderte
Chris Schaller

2

Führen Sie diesen Befehl aus. lusrmgr.msc Doppelklicken Sie auf Benutzer und doppelklicken Sie auf den Kontonamen. Aktivieren Sie "Kennwort läuft nie ab". Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein Getan.


Ich habe es überprüfen lassen, habe aber ein Problem mit der Bereitstellung
Piotr Piątkiewicz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.