Nie udało się zbudować zadania wdrożenia internetowego


86

Scenariusz:

Skonfigurowałem pomyślnie zadanie Webdeploy TFS2010 dla rozwiązania. Wszystko działało dobrze, aż nagle coś poszło nie tak w zadaniu wdrożenia.

Rozwiązanie ma 2 projekty internetowe… te są skonfigurowane do wdrażania podczas kompilacji i publikowania na serwerze deweloperskim.

Czy ktoś wie, co jest nie tak w kompilacji (informacje poniżej)?

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.

Mogę podać więcej informacji, jeśli ktoś tego potrzebuje.


1
Jeśli przychodzisz do tego pytania później, zapoznaj się z najnowszą odpowiedzią
Sethi

Odpowiedzi:


209

Napotkałem ten sam problem podczas budowania przez TFS. Kiedy próbowałem ręcznie zaimportować witrynę, pojawił się bardziej informacyjny błąd: „nie można zalogować użytkownika \ WDeployConfigWriter”.

Okazuje się, że po zainstalowaniu wdrożenia internetowego konfiguruje się dwa konta lokalne WDeployConfigWriter i WDeployAdmin. Hasła do tych kont wygasną. Zresetuj więc hasła na serwerze internetowym i ustaw „nigdy nie wygasają”. Następnie przejdź do delegowania usługi zarządzania w usługach IIS. Każda z przedstawionych reguł posiada pole UserName. Gdzie to jest WDeployAdmin lub WDeployConfigWriter, kliknij prawym przyciskiem myszy i zaktualizuj poświadczenia do nowych haseł.

Pełne wyjaśnienie ze zrzutami ekranu można znaleźć tutaj: http://workinghardinit.wordpress.com/2011/07/18/wdeployconfigwriter-account-issues-trouble-shooting-web-deploy-2-0-with-lessons-learned/


21
Jeśli hasła nie zostały zmienione, możesz po prostu ustawić konta WDeployConfigWriter i WDeployAdmin na „Użytkownik nie może zmienić hasła” i „Hasło nigdy nie wygasa”. W naszym przypadku „Hasło do określonego konta wygasło”. znajdował się w dzienniku zabezpieczeń podczas instalacji nowego serwera.
GoClimbColorado

2
Ładny. To był problem w moim przypadku. Ustawiłem hasło użytkownika WDeployConfigWriter tak, aby nie wygasało i to rozwiązało problem.
Stan DBA

2
Udało mi się znaleźć podobny błąd w przeglądarce zdarzeń (na serwerze 2012 w dziennikach aplikacji i usług >> Microsoft Web Deploy). Błąd pojawia się w szczegółach jako: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

Jeszcze w lutym 2016 napotkałem ten dziwny problem na serwerze Windows 2008R2 i Twoje rozwiązanie działało dla mnie.
Ehsan Mirsaeedi

2
Mogę potwierdzić, że NIE musisz zmieniać hasła. Ustawienie „hasło nigdy nie wygasa” wystarczy, aby rozwiązać problem bez dodatkowych kroków, zgodnie z komentarzem @ GoClimbColorado
NickG

41

Wszystko, co musisz zrobić, to ponownie uruchomić skrypt „AddDelegationRules.ps1” znajdujący się w „C: \ Program Files \ IIS \ Microsoft Web Deploy V3 \ Scripts \”

To jest skrypt uruchamiany podczas pierwszej instalacji wdrożenia internetowego. Powoduje odtworzenie brakujących delegacji, ponowne ustawienie haseł zarówno dla WebDeployAdmin, jak i WebDeployConfigWriter oraz dodanie WebDeployAdmin z powrotem do grupy Administratorzy.

Nadal trzeba ustawić hasło na każdym koncie, aby nie wygasało po ponownym uruchomieniu skryptu.


Twoja rada bardzo mi pomogła. Znalazłem i wykonałem ten skrypt „AddDelegationRules.ps1” z „poverShell”. Używam serwera win 2012 R2 i VS2017.
Roberto Gata,

12

Mieliśmy ten sam problem - w naszym przypadku używamy tylko MSDeploy (bez TFS ). Zresetowanie hasła dla tych 2 kont lokalnych ( WDeployConfigWriter i WDeployAdmin ) rozwiązało problem, ponieważ ich hasła wygasły . Podjęliśmy próbę zmiany zasad haseł, aby nigdy nie wygasały, ale może to zrobić tylko lokalny administrator .


2
Właśnie użyłem tej odpowiedzi, aby rozwiązać ten problem samodzielnie. Jednak dla mnie był jeszcze jeden krok ... Po zresetowaniu poświadczeń musisz przejść do IIS> Delegowanie usług zarządzania, a następnie wybrać każdą regułę i nacisnąć Edytuj . Jeśli reguła korzysta z konta WDeployConfigWriter , naciśnij przycisk Ustaw ... i ponownie wprowadź nowe poświadczenia, które właśnie zaktualizowałeś.
EvilDr

3
To naprawdę tylko połowa odpowiedzi ... aby zapobiec wygaśnięciu haseł, otwórz lokalnego menedżera grupy (uruchom lusrmgr.msc), użytkowników (na pasku bocznym), kliknij dwukrotnie nazwę konta i zaznacz „hasło nigdy nie wygasa”.
Kat

Udało mi się to rozwiązać, po prostu odznaczając User must change password at next logini nie zmieniając fizycznie haseł
Chris Schaller

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.