Awaria usługi aktywacji procesu systemu Windows - Windows 10

9

Usługa aktywacji procesów systemu Windows (WAS) nie będzie już działać na moim komputerze z systemem Windows 10. W rezultacie IIS nie uruchomi się. Nie jestem do końca pewien, kiedy to się stało, ale prawdopodobnie w ostatnim miesiącu.

Podczas uruchamiania otrzymuję teraz serię 4 zdarzeń błędów w dzienniku systemu:

WAS 5215: Usługa aktywacji procesów systemu Windows (WAS) nie mogła zainicjować instalacji w trybie offline. Pole danych zawiera numer błędu. [Pole danych: 50000780]

WAS 5005: Usługa aktywacji procesu systemu Windows (WAS) zatrzymuje się, ponieważ wystąpił błąd. Pole danych zawiera numer błędu. [Pole danych: 50000780]

Service Control Manager 7023: Usługa WAS zakończyła działanie z następującym błędem: Plik istnieje.

Service Control Manager 7001: Usługa W3SVC zależy od usługi WAS, której uruchomienie nie powiodło się z powodu następującego błędu: Plik istnieje.

Nie mam wielu odniesień do tego typu błędu z błędem, że plik istnieje .

(Próbowałem użyć ProcMon, aby spróbować zidentyfikować plik, do którego się odnosi, ale absolutnie odmawia uruchomienia).


Edytuj ... w końcu uruchomił ProcMon (po wypakowaniu wersji 64-bitowej przy użyciu VS2017). Okazuje się, że przyczyną tego problemu był plik „applicationhost.config.tmp” w C:\Windows\System32\inetsrv\Configfolderze. Usunięcie tego pliku pozwoliło kontynuować proces.

Teraz pierwszy i trzeci błąd to:

WAS 5215: Usługa aktywacji procesów systemu Windows (WAS) nie mogła zainicjować instalacji w trybie offline. Pole danych zawiera numer błędu. [Pole danych: 0D000780]

Service Control Manager 7023: Usługa Windows Process Activation Service zakończyła działanie z następującym błędem: Dane są nieprawidłowe.


Zgodnie z odpowiedzią Yanbing Shi, oto najnowsze wiersze z iis.logpliku:

[01/13/2018 23:10:41] [ ***** IIS 10.0 Component Based Setup ***** ] [01/13/2018 23:10:41] .\inetsrv\iissetup.exe /install SharedLibraries /nano [01/13/2018 23:10:41] Setting Installation Type to Nano [01/13/2018 23:10:41] Successfully added IIS_IUSRS ACE to DACL at %ProgramData%\Microsoft\Windows\WER\ReportQueue. [01/13/2018 23:10:42] < !!FAIL!! > Failed to create the NetFrameworkConfigurationKey key container (result=0x8009000f) [01/13/2018 23:10:42] < !!FAIL!! > Install of component SharedLibraries result=0x8009000f [01/13/2018 23:10:42] < !!FAIL!! > COMPONENT::ExecuteCommand result=0x8009000f [01/13/2018 23:10:42] [ End of IIS 10.0 Component Based Setup ]


W odpowiedzi na kolejną odpowiedź Yanbing Shi ...

Początkowo nie byłem w stanie wyświetlić / edytować / usunąć d6d986f09a1ee04e24c949879fdb506c_*pliku. Kiedy próbowałem wyświetlić jego uprawnienie, dostałem wiadomość: You do not have permission to view this object's security properties, even as an administrative user. byłem jednak w stanie zmienić własność na „Administratorzy”, a następnie udzielić tej grupie Fulluprawnień, a następnie móc ją wyświetlić. Plik nie był plikiem tekstowym, ale zawiera około 28 bajtów NetFrameworkConfigurationKey. Przeniosłem plik z tego folderu.

Potem pobiegłem net start wasi dostałemSystem error 80 has occurred. The file exists.

Do iis.logpliku nie dodano nic , ale do dziennika zdarzeń systemowych dodano zwykłe zdarzenia Error.

Następnie ręcznie usunąłem applicationhost.config.tmpplik i uruchomiłem net start was. Tym razem mamSystem error 13 has occurred. The data is invalid.

Tym razem pojawiły się nowe wpisy do iis.log

[03/18/2018 07:44:54] [ ***** IIS 10.0 Component Based Setup ***** ] [03/18/2018 07:44:54] .\inetsrv\iissetup.exe /install SharedLibraries /nano [03/18/2018 07:44:54] Setting Installation Type to Nano [03/18/2018 07:44:55] Successfully added IIS_IUSRS ACE to DACL at %ProgramData%\Microsoft\Windows\WER\ReportQueue. [03/18/2018 07:44:55] Created NetFrameworkConfigurationKey key containter [03/18/2018 07:44:56] Created NetFrameworkConfigurationKey user key [03/18/2018 07:44:56] Set ACLs on NetFrameworkConfigurationKey [03/18/2018 07:44:56] < !!FAIL!! > Failed to create the iisWasKey key container (result=0x8009000f) [03/18/2018 07:44:56] < !!FAIL!! > Install of component SharedLibraries result=0x8009000f [03/18/2018 07:44:56] < !!FAIL!! > COMPONENT::ExecuteCommand result=0x8009000f [03/18/2018 07:44:56] [ End of IIS 10.0 Component Based Setup ]

Glen Little
źródło
Podobny temat omówiony tutaj: stackoverflow.com/questions/47998508/...
Glen Little
Kolejny podobny raport: answer.microsoft.com/en-us/windows/forum/…
Glen Little
Kolejny: serverfault.com/questions/644833 / ... Żadna z nich nie ma zadowalającej odpowiedzi.
Glen Little

Odpowiedzi:

9

Wystąpił błąd, ponieważ WAS nie mógł uzyskać dostępu do kluczy komputera podczas uruchamiania. Przy pierwszym uruchomieniu po aktualizacji WAS spróbuje utworzyć nowe klucze maszynowe, jeśli ich nie ma, lub zapyta o stare klucze maszynowe pozostałe ze starego systemu operacyjnego. W tym przypadku istnieją stare klucze komputera, ale WAS niestety nie może uzyskać do nich dostępu z jakiegoś niejasnego powodu. Te klucze maszynowe służą do szyfrowania poufnych informacji w applicationHost.config lub web.config (np. Hasło użytkownika). WAS nie będzie mógł zostać uruchomiony, jeśli nie będzie mógł użyć klucza komputera.

Poniższe kroki usuwania kilku kluczy komputera używanych przez IIS mogą pomóc w uruchomieniu WAS - WAS po prostu odtworzy te klucze po uruchomieniu.

  1. Przejdź do folderu kluczy maszynowych RSA: C: \ Users \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys
  2. Znajdź klucz (plik) komputera, którego nazwa zaczyna się od d6d986f09a1ee04e24c949879fdb506c_ *. Jeśli otworzysz go za pomocą notatnika, zobaczysz zwykły tekst „NetFrameworkConfigurationKey”.
  3. Utwórz kopię zapasową tego pliku w innym folderze.
  4. Usuń ten plik.
  5. Wykonaj te same kroki co 2-4, aby wykonać kopię zapasową i usunąć iisWasKey: 76944fb33636aeddb9590521c2e8815a_ *
  6. Wykonaj te same kroki co 2-4, aby wykonać kopię zapasową i usunąć iisConfigurationKey: 6de9cb26d2b98c01ec4e9e8b34824aa2_ *
  7. Ręcznie uruchom WAS
    • Otwórz wiersz polecenia poprzez „uruchom jako administrator”.
    • start netto był
Yanbing Shi
źródło
Dzięki, @ yanbing-shi. Proszę zobaczyć moje odpowiedzi w pytaniu.
Glen Little
Poczyniliśmy pewne postępy - przynajmniej NetFrameworkConfigurationKey został pomyślnie utworzony. Zaktualizowałem odpowiedź o dodatkowe kroki.
Yanbing Shi
Cieszę się, że obejście to odblokowuje. Ale pierwotna przyczyna nie jest jeszcze jasna. Zdecydowanie coś związanego z kluczami komputera zostało pomieszane podczas aktualizacji (a IIS nie ma nad tym kontroli). Stare klucze komputera zostały utworzone przez WAS przed aktualizacją, a aktualizacja systemu Windows przenosi te klucze do nowego systemu operacyjnego. Jest jednak całkowicie nieoczekiwane, że WAS działający na koncie SYSTEM nie uzyskałby dostępu do wcześniej utworzonych przez siebie kluczy komputera.
Yanbing Shi
Jeśli zastosowałeś się do moich kroków obejścia i utworzyłeś kopię zapasową trzech starych kluczy maszyny RSA (1) NetFrameworkConfigurationKey (2) iisWasKey (3) iisConfigurationKey. Byłbym wdzięczny za podanie następujących informacji: Jeśli porównasz każdy stary klucz (kopię zapasową) z nowym kluczem odtworzonym przez WAS, czy mają one tę samą nazwę pliku - np. Czy część „*” (GUID) jest podobnie?
Yanbing Shi
@YanbingShi to rozwiązało mój problem, dziękuję. Aby odpowiedzieć na twoje pytanie, odtworzone nowe klucze miały taką samą nazwę jak poprzednio. Musiałem zmienić uprawnienia do plików kluczy, aby je przenieść. Miałem już pozwolenie, ale aby je usunąć, musiałem je specjalnie udostępnić, tzn. Kliknąć prawym przyciskiem myszy> dać dostęp, a następnie kliknąć udział
Swagata
4

Dla mnie zaczęło się to po uruchomieniu wczoraj Windows Update. Zainstalowane aktualizacje od tego czasu:

  • Aktualizacja funkcji do systemu Windows 10, wersja 1709
  • Aktualizacja dla systemu Windows 10 KB4041994
  • 2018-01 Zbiorcza aktualizacja KB4056892

Uruchomienie usługi aktywacji procesów systemu Windows (WAS) spowodowało błąd:

Błąd 13: Dane są nieprawidłowe.

Z dziennika zdarzeń systemu:

Usługa aktywacji procesu systemu Windows (WAS) nie mogła zainicjować instalacji w trybie offline. Pole danych zawiera numer błędu [8007000D].

Nie mam pojęcia, co się dzieje. I verfied Moje strony administration.config, applicationHost.configa redirection.configzawarte oczekiwanych danych.

Próbowałem przywrócić automatycznie kopie zapasowe plików konfiguracyjnych C:\inetpub\history, ale bez rezultatu.

W końcu podjąłem następujące kroki:

  1. Wykonaj kopię zapasową wszystkich plików konfiguracyjnych z C:\Windows\System32\inetsrv\Config.

  2. Usunął wszystko związane z HTTP, odznaczając następujące funkcje Windows Funkcje (zrób zrzut ekranu, które są zainstalowane, aby później łatwo ponownie zainstalować te same moduły):

    • W .NET Framework 3.5 nie odznacz samego frameworka:
      • Aktywacja WCF HTTP
      • Aktywacja WCF bez HTTP
    • Zaawansowane usługi .NET Framework 4.7
    • IIS
    • IIS Hostable Web Core
    • Usługa aktywacji procesu Windows
  3. Restart.

  4. Usunięto pozostałą zawartość z C:\Windows\System32\inetsrv.
  5. Ponownie zainstaluj wszystkie odinstalowane funkcje z góry.
  6. Ponownie zainstaluj moduł przepisywania adresów URL
  7. Ostrożnie włóż odpowiednie elementy spod <applicationPools>i <sites>elementy z kopii zapasowej applicationHost.configdo nowo utworzonego C:\Windows\System32\inetsrv\Config\applicationHost.config.
  8. iisresetAby się upewnić, wykonaj z wiersza polecenia z podwyższonym poziomem uprawnień.

Hurra, wszystkie moje strony programistyczne znów działają.

Następnie porównałem kopię zapasową i nowe applicationHost.configpliki i nie zauważyłem żadnych większych różnic. W rzeczywistości, kiedy upuściłem kopię zapasową applicationHost.configdo katalogu Config i uruchomiłem inną, iisresetwszystko nadal działało, więc sądzę, że to nie ten plik w końcu spowodował problem.

CodeCaster
źródło
Cieszę się, że udało ci się rozwiązać problem. Wcześniej zrobiłem większość tego, ale jeśli wkrótce nic się nie pojawi, mogę to zrobić ponownie, ostrożniej podążając twoją ścieżką. W międzyczasie mogłem zmienić swój program na używanie IIS Express zamiast IIS i to działa na razie.
Glen Little
******** NIE POSTĘPUJ ZGODNIE Z PORADAMI ********. BARDZO BARDZO ŹLE. Postaw mi dzień w pracy. NAPRAWDĘ ZŁA RADA. Po odinstalowaniu programu .NET 3.5 nie można go ponownie zainstalować bez dużego nakładu pracy. Cieszę się, że znalazłem następujący post, aby naprawić to, co się stało, wykonując powyższe instrukcje. damirscorner.com/blog/posts/…
Fractal
1

Zdarzyło mi się to również po ostatniej aktualizacji systemu Windows. Wyłączenie, a następnie włączenie usługi aktywacji procesów systemu Windows w funkcjach systemu Windows załatwiło sprawę. Wyłączenie tej usługi spowoduje również wyłączenie następujących funkcji, które również włączysz:

  • Aktywacja systemu Windows Communication Foundation bez HTTP
  • Aktywacja TCP
  • Aktywacja nazwanej rury
  • Aktywacja usługi kolejkowania wiadomości (MSMQ)
Mike DeLange
źródło
1
Wyłączenie WPAS (interfejsy API konfiguracji i model procesu były włączone), a następnie włączenie ich nie pomogło w tym przypadku.
Glen Little
1

Czy możesz wykonać następujące kontrole?

  1. Sprawdź, czy masz ten klucz rejestru: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ WAS \ Parameters \ NanoSetup

Uważam, że powinien istnieć, jeśli trafisz na taki błąd uruchamiania WAS.

  1. Sprawdź, czy masz plik o nazwie applicationhost.config.tmp w folderze C: \ windows \ system32 \ inetsrv \ config (folder, w którym znajduje się plik applicationHost.config).

Ten plik tymczasowy również powinien istnieć, aby trafić w błąd.

  1. Otwórz iis.log w c: \ windows, przewiń w dół do końca pliku i wyszukaj najnowsze błędy w dzienniku. Dziękujemy za wklejenie dowolnego komunikatu dziennika błędów.

Teraz podejrzewam, że zobaczysz błędy w iis.log. Czy możesz tutaj wkleić błędy, aby zawęzić przyczynę?

Yanbing Shi
źródło
1-Tak 2-Tak. Dodano wpisy dziennika do powyższego pytania.
Glen Little
Może to być interesujące: forums.iis.net/p/1148509/1865753.aspx
Glen Little