Windows İşlem Etkinleştirme Hizmeti Başarısız - Windows 10


9

Windows İşlem Bilgisayarım'da Windows İşlem Etkinleştirme Hizmeti (WAS) artık başlamıyor. Sonuç olarak, IIS başlamaz. Ne zaman olduğundan emin değilim, ama muhtemelen geçen ay.

Başlangıç ​​sırasında, Sistem günlüğünde bir dizi 4 hata olayı alıyorum:

WAS 5215: Windows İşlem Etkinleştirme Hizmeti (WAS) çevrimdışı kurulum için başlatma işlemini gerçekleştiremedi. Veri alanı hata numarasını içerir. [Veri alanı: 50000780]

WAS 5005: Windows İşlem Etkinleştirme Hizmeti (WAS) bir hatayla karşılaştığından duruyor. Veri alanı hata numarasını içerir. [Veri alanı: 50000780]

Service Control Manager 7023: WAS hizmeti aşağıdaki hatayla sonlandırıldı: Dosya var.

Service Control Manager 7001: W3SVC hizmeti, aşağıdaki hata nedeniyle başlatılamayan WAS hizmetine bağlıdır: Dosya var.

Dosya var hata ile bu tür bir hata için çok referans yok .

(Hangi dosyayı ifade ettiğini tanımlamak için ProcMon kullanmaya çalıştım, ancak kesinlikle çalıştırmayı reddediyor.)


Edit ... nihayet ProcMon çalışmaya başladı (VS2017 kullanarak 64-bit sürümü ayıkladıktan sonra). Yukarıdaki soruna neden olan dosyanın C:\Windows\System32\inetsrv\Configklasördeki "applicationhost.config.tmp" dosyası olduğu ortaya çıkıyor . Bu dosyanın kaldırılması işlemin daha da devam etmesine izin verdi.

Şimdi, birinci ve üçüncü hatalar:

WAS 5215: Windows İşlem Etkinleştirme Hizmeti (WAS) çevrimdışı kurulum için başlatma işlemini gerçekleştiremedi. Veri alanı hata numarasını içerir. [Veri alanı: 0D000780]

Service Control Manager 7023: Windows İşlem Etkinleştirme Hizmeti hizmeti aşağıdaki hatayla sonlandırıldı: Veriler geçersiz.


Yanbing Shi'nin cevabına göre, dosyadan en son satırlar şunlardır iis.log:

[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 ]


Yanbing Shi'nin bir sonraki cevabına yanıt olarak ...

İlk başta d6d986f09a1ee04e24c949879fdb506c_*dosyayı görüntüleyemedim / düzenleyemedim / silemedim . İznini görüntülemeye çalıştığımda şu mesajı aldım: You do not have permission to view this object's security properties, even as an administrative user. Ancak, "Yöneticiler" in sahipliğini değiştirebildim, sonra bu gruplara Fullizin verdim ve sonra görüntüleyebildim. Dosya bir metin dosyası değildi ama dosyaya yaklaşık 28 bayt NetFrameworkConfigurationKey. Dosyayı bu klasörden çıkardım.

Sonra koştum net start wasve aldımSystem error 80 has occurred. The file exists.

iis.logDosyaya hiçbir şey eklenmedi, ancak olağan Hata olayları Sistem olay günlüğüne eklendi.

Sonra applicationhost.config.tmpdosyayı el ile sildim ve koştum net start was. Bu sefer anladımSystem error 13 has occurred. The data is invalid.

Bu sefer, 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 ]


Burada tartışılan benzer bir konu: stackoverflow.com/questions/47998508/…
Glen Little



Başka bir: serverfault.com/questions/644833/… Bunların hiçbirinin tatmin edici bir cevabı yok.
Glen Little

Yanıtlar:


9

WAS, başlatma sırasında makine tuşlarına erişemediği için hata oluştu. Yükseltmeden sonra ilk başlangıçta, WAS, yoksa yeni makine anahtarları oluşturmaya veya eski işletim sisteminden kalan eski makine anahtarlarını sorgulamaya çalışır. Bu durumda, eski makine anahtarları vardır, ancak WAS maalesef belirsiz bir nedenden dolayı erişemez. Bu makine anahtarları applicationHost.config veya web.config dosyasındaki (ör. Kullanıcı parolası) hassas bilgileri şifrelemek için kullanılır. Kullanabileceği bir makine anahtarı yoksa WAS başlatılamaz.

IIS tarafından kullanılan birkaç makine anahtarını silmenin aşağıdaki adımları WAS'ın başlatılmasına izin verebilir - WAS başlangıçta bu anahtarları yeniden oluşturur.

  1. RSA makine anahtarları klasörünüze gidin: C: \ Kullanıcılar \ Tüm Kullanıcılar \ Uygulama Verileri \ Microsoft \ Crypto \ RSA \ MachineKeys
  2. Adı d6d986f09a1ee04e24c949879fdb506c_ * ile başlayan bir makine anahtarı (dosya) bulun. Not Defteri'ni kullanarak açarsanız, düz metin "NetFrameworkConfigurationKey" görmelisiniz.
  3. Bu dosyayı başka bir klasöre yedekleyin.
  4. Bu dosyayı silin.
  5. İisWasKey'i yedeklemek ve silmek için 2-4 ile aynı adımları izleyin: 76944fb33636aeddb9590521c2e8815a_ *
  6. İisConfigurationKey'i yedeklemek ve silmek için 2-4 ile aynı adımları izleyin: 6de9cb26d2b98c01ec4e9e8b34824aa2_ *
  7. WAS'ı manuel olarak başlatma
    • "Yönetici olarak çalıştır" ile bir komut istemi açın.
    • net başlangıç

Teşekkürler, @ yanbing-shi. Lütfen sorudaki yanıtlarıma bakın.
Glen Little

Bazı ilerlemeler kaydettik - en azından NetFrameworkConfigurationKey başarıyla oluşturuldu. Cevabı ek adımlarla güncelledim.
Yanbing Shi

Geçici çözümün engelini kaldırdığına sevindim. Ancak kök neden henüz belli değil. Kesinlikle yükseltme sırasında makine anahtarları ile ilgili bir şey berbat (ve IIS üzerinde hiçbir kontrolü yoktur). Eski makine anahtarları yükseltme işleminden önce WAS tarafından oluşturuldu ve Windows yükseltme bu anahtarları yeni işletim sistemine taşıyor. Ancak, SİSTEM hesabı altında çalışan WAS'ın daha önce kendisi tarafından oluşturulan makine anahtarlarına erişememesi tamamen beklenmedik bir durumdur.
Yanbing Shi

Geçici çözüm adımlarımı izlediyseniz ve üç eski RSA makine anahtarını yedeklediyseniz (1) NetFrameworkConfigurationKey (2) iisWasKey (3) iisConfigurationKey. Bana aşağıdaki bilgileri verebilirseniz sevinirim: Her eski anahtarı (yedekleme) WAS tarafından yeniden oluşturulan yenisiyle karşılaştırırsanız, aynı dosya adına sahip olurlar mı - örneğin "*" kısmı (GUID) aynı?
Yanbing Shi

@YanbingShi bu sorunumu çözdü, teşekkür ederim. Sorunuzu cevaplamak için, yeniden oluşturulan yeni anahtarlar önceki adla aynı ada sahipti. Dosyaları taşımak için anahtar dosyaların izinlerini değiştirmek zorunda kaldım. Zaten
iznim

4

Benim için bu, dün Windows Update'i çalıştırdıktan sonra başladı. O zamandan beri güncellemeler yüklendi:

  • Windows 10, sürüm 1709 için özellik güncellemesi
  • Windows 10 KB4041994 Güncelleştirmesi
  • 2018-01 Toplu Güncelleştirme KB4056892

Windows İşlem Etkinleştirme Hizmeti'ni (WAS) başlatmak şu hatayı verdi:

Hata 13: Veriler geçersiz.

Sistem olay günlüğünden:

Windows İşlem Etkinleştirme Hizmeti (WAS) çevrimdışı kurulum için başlatma işlemini gerçekleştiremedi. Veri alanı [8007000D] hata numarasını içerir.

Ne olduğu hakkında hiçbir fikrim yok. Kızkardeşimi verfied administration.config, applicationHost.configve redirection.configbeklenen verileri içeriyordu.

Sonuçtan otomatik olarak yapılandırma dosyalarını yedeklemeye geri döndüm C:\inetpub\history.

Sonunda şu adımları attım:

  1. Konumundan tüm yapılandırma dosyalarını yedekleyin C:\Windows\System32\inetsrv\Config.

  2. Windows Özellikleri'nden aşağıdakilerin işaretini kaldırarak HTTP ile ilgili her şeyi sildi (daha sonra aynı modülleri kolayca yeniden yükleyebilmeniz için hangilerinin yüklendiğinin bir ekran görüntüsünü alın):

    • .NET Framework 3.5 altında, Çerçevenin kendisinin işaretini kaldırmayın:
      • WCF HTTP Etkinleştirmesi
      • WCF HTTP Dışı Etkinleştirme
    • .NET Framework 4.7 Gelişmiş Hizmetleri
    • IIS
    • IIS Kullanılabilir Web Çekirdeği
    • Windows İşlem Etkinleştirme Hizmeti
  3. Yeniden Başlatma.

  4. Kaynağındaki kalan içerik silindi C:\Windows\System32\inetsrv.
  5. Kaldırılan tüm özellikleri yukarıdan yeniden yükleyin.
  6. URL Yeniden Yazma Modülünü Yeniden Yükleme
  7. Dikkatle altından ilgili unsurları geri koymak <applicationPools>ve <sites>gelen elemanları yedeklenen applicationHost.configyeni oluşturulan içine C:\Windows\System32\inetsrv\Config\applicationHost.config.
  8. iisresetEmin olmak için yükseltilmiş bir komut isteminden bir komut yürütün .

Ve yaşasın, tüm geliştirme sitelerim tekrar hazır.

Bundan sonra yedeklenen applicationHost.configdosyaları ve yeni dosyaları karşılaştırdım ve önemli farklılıkları tespit edemedim. Aslında, ben applicationHost.configConfig dizinine yedeklenmiş düştü ve başka bir iisresetşey hala çalıştığında, ne zaman sonuçta sorun neden o dosya değildi sanırım.


Sorunu aşabildiğiniz için mutluyum. Daha önce bunların çoğunu yaptım, ancak yakında hiçbir şey görünmezse, yolunuzu daha dikkatli bir şekilde izleyerek tekrar yapabilirim. Bu arada gelişimimi IIS yerine IIS Express kullanacak şekilde değiştirebildim ve şimdilik çalışıyor.
Glen Little

******** BU TAVSİYE TAKİP ETMEYİN ********. ÇOK ÇOK KÖTÜ. Beni işte bir gün geride bırak. GERÇEKTEN KÖTÜ TAVSİYE. .NET 3.5'i kaldırdıktan sonra çok fazla iş yapmadan yeniden yükleyemezsiniz. Yukarıdaki talimatları izleyerek olanları düzeltmek için aşağıdaki gönderiyi bulduğuma sevindim. damirscorner.com/blog/posts/…
Fraktal

1

Bu, son zamanlarda yapılan bir Windows güncellemesinden sonra da oldu. Windows Özellikleri'nde Windows İşlem Etkinleştirme Hizmeti'ni kapatıp açmak benim için hile yaptı. Bu hizmeti kapatmak, tekrar açacağınız aşağıdaki özellikleri de kapatır:

  • Windows Communication Foundation HTTP Dışı Etkinleştirme
  • TCP Etkinleştirmesi
  • Adlandırılmış Boru Aktivasyonu
  • Message Queuing (MSMQ) Etkinleştirmesi

1
WPAS'ın (Yapılandırma API'ları ve İşlem Modeli açık) kapatılıp açılması bu durumda yardımcı olmadı.
Glen Little

1

Aşağıdaki kontrolleri yapabilir misiniz?

  1. Bu kayıt defteri anahtarına sahip olup olmadığınızı kontrol edin: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ WAS \ Parameters \ NanoSetup

Böyle bir WAS başlatma hatasına basarsanız var olması gerektiğine inanıyorum.

  1. C: \ windows \ system32 \ inetsrv \ config (applicationHost.config dosyasının bulunduğu klasör) altında applicationhost.config.tmp adlı bir dosyanızın olup olmadığını kontrol edin.

Bu geçici dosya, böyle bir başarısızlığa neden olmak için de mevcut olmalıdır.

  1. İis.log dosyasını c: \ windows içinde açın, dosyanın sonuna gidin ve günlükteki en son hataları arayın. Herhangi bir hata günlüğü mesajını buraya yapıştırabiliyorsanız teşekkür ederiz.

Şimdi iis.log dosyasında hatalar göreceğinizden şüpheleniyorum. Nedeni daraltmak için hataları buraya yapıştırır mısınız?


1-Evet. 2-Evet. Yukarıdaki soruya günlük girişleri eklendi.
Glen Little

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.