บริการเปิดใช้งานกระบวนการ Windows ล้มเหลว - Windows 10


9

บริการเปิดใช้งานกระบวนการ Windows (WAS) จะไม่เริ่มทำงานบนพีซี Windows 10 ของฉันอีกต่อไป ดังนั้น IIS จะไม่เริ่มทำงาน ฉันไม่แน่ใจว่าเมื่อมันเกิดขึ้น แต่มีแนวโน้มในเดือน

ในระหว่างการเริ่มต้นฉันได้รับเหตุการณ์ข้อผิดพลาด 4 ชุดในบันทึกของระบบ:

WAS 5215: บริการเปิดใช้งานกระบวนการ Windows (WAS) ล้มเหลวในการดำเนินการเตรียมใช้งานสำหรับการตั้งค่าออฟไลน์ เขตข้อมูลประกอบด้วยหมายเลขข้อผิดพลาด [เขตข้อมูล: 50000780]

WAS 5005: บริการการเปิดใช้งานกระบวนการ Windows (WAS) หยุดทำงานเนื่องจากพบข้อผิดพลาด เขตข้อมูลประกอบด้วยหมายเลขข้อผิดพลาด [เขตข้อมูล: 50000780]

Service Control Manager 7023: บริการ WAS ถูกยกเลิกพร้อมกับข้อผิดพลาดต่อไปนี้: มีไฟล์อยู่

Service Control Manager 7001: บริการ W3SVC ขึ้นอยู่กับบริการ WAS ซึ่งล้มเหลวในการเริ่มต้นเนื่องจากข้อผิดพลาดต่อไปนี้: ไฟล์มีอยู่

ฉันได้อ้างอิงได้หลายประเภทของข้อผิดพลาดนี้มีข้อผิดพลาดไฟล์ที่มีอยู่

(ฉันพยายามใช้ ProcMon เพื่อพยายามระบุไฟล์ที่อ้างถึง แต่มันปฏิเสธที่จะเรียกใช้อย่างแน่นอน)


แก้ไข ... ในที่สุดก็มี ProcMon ให้ทำงาน (หลังจากแตกเวอร์ชัน 64 บิตโดยใช้ VS2017) ปรากฎว่าไฟล์ที่ก่อให้เกิดปัญหาข้างต้นคือไฟล์ "applicationhost.config.tmp" ในC:\Windows\System32\inetsrv\Configโฟลเดอร์ การลบไฟล์นั้นอนุญาตให้กระบวนการดำเนินการต่อไป

ตอนนี้ข้อผิดพลาดที่หนึ่งและสามคือ:

WAS 5215: บริการเปิดใช้งานกระบวนการ Windows (WAS) ล้มเหลวในการดำเนินการเตรียมใช้งานสำหรับการตั้งค่าออฟไลน์ เขตข้อมูลประกอบด้วยหมายเลขข้อผิดพลาด [เขตข้อมูล: 0D000780]

Service Control Manager 7023: บริการการเปิดใช้งานกระบวนการ Windows สิ้นสุดลงด้วยข้อผิดพลาดต่อไปนี้: ข้อมูลไม่ถูกต้อง


ตามคำตอบของ Yanbing Shi ต่อไปนี้เป็นบรรทัดล่าสุดจาก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 ชิคำตอบต่อไป ...

ตอนแรกฉันไม่สามารถดู / แก้ไข / ลบd6d986f09a1ee04e24c949879fdb506c_*ไฟล์ได้ เมื่อฉันพยายามดูการอนุญาตฉันได้รับข้อความ: You do not have permission to view this object's security properties, even as an administrative user. อย่างไรก็ตามฉันสามารถเปลี่ยนความเป็นเจ้าของเป็น "ผู้ดูแลระบบ" จากนั้นให้Fullสิทธิ์แก่กลุ่มนั้นจากนั้นฉันก็สามารถดูได้ ไฟล์ที่ไม่ได้เป็นแฟ้มข้อความ แต่ประมาณ 28 NetFrameworkConfigurationKeyไบต์ลงในไฟล์คือ ฉันย้ายไฟล์ออกจากโฟลเดอร์นั้น

จากนั้นฉันก็วิ่งไปnet start wasรับSystem error 80 has occurred. The file exists.

ไม่มีสิ่งใดถูกเพิ่มลงในiis.logไฟล์ แต่มีการเพิ่มเหตุการณ์ข้อผิดพลาดตามปกติลงในบันทึกเหตุการณ์ของระบบ

จากนั้นผมได้ด้วยตนเองที่ถูกลบไฟล์และวิ่งapplicationhost.config.tmp net start wasครั้งนี้ฉันได้รับSystem error 13 has occurred. The data is invalid.

ครั้งนี้มีรายการใหม่ให้กับ 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 ]


ปัญหาที่คล้ายกันกล่าวถึงที่นี่: stackoverflow.com/questions/47998508/…
เกลน Little

อีกรายงานที่คล้ายกัน: answer.microsoft.com/en-us/windows/forum/…
เกล็

และรายงานอื่น ๆ : social.msdn.microsoft.com/Forums/vstudio/en-US/…
Glen Little

อีกข้อหนึ่ง: serverfault.com/questions/644833/… สิ่งเหล่านี้ไม่มีคำตอบที่น่าพอใจ
เกลน Little

คำตอบ:


9

ความล้มเหลวเกิดขึ้นเนื่องจาก WAS ไม่สามารถเข้าถึงปุ่มเครื่องระหว่างการเริ่มต้น เมื่อเริ่มต้นครั้งแรกหลังจากการอัพเกรด WAS จะพยายามสร้างปุ่มเครื่องใหม่หากไม่มีหรือสอบถามคีย์เครื่องเก่าที่เหลืออยู่จากระบบปฏิบัติการเก่า ในกรณีนี้มีคีย์เครื่องเก่าอยู่ แต่น่าเสียดายที่ไม่สามารถเข้าถึงได้ด้วยเหตุผลที่ไม่ชัดเจน ปุ่มเครื่องเหล่านี้ใช้เพื่อเข้ารหัสข้อมูลที่ละเอียดอ่อนใน applicationHost.config หรือ web.config (เช่นรหัสผ่านผู้ใช้) WAS จะไม่สามารถเริ่มต้นได้หากไม่มีหมายเลขเครื่องที่สามารถใช้งานได้

ขั้นตอนต่อไปนี้ของการลบคีย์เครื่องหลายตัวที่ IIS ใช้อาจช่วยให้ WAS เริ่มต้นได้ - WAS จะสร้างคีย์เหล่านี้ใหม่เมื่อเริ่มต้น

  1. ไปที่โฟลเดอร์คีย์ของเครื่อง RSA: C: \ Users \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys
  2. ค้นหารหัสเครื่อง (ไฟล์) ที่ชื่อขึ้นต้นด้วย d6d986f09a1ee04e24c949879fdb506c_ * หากคุณเปิดโดยใช้แผ่นจดบันทึกคุณจะเห็นข้อความธรรมดา "NetFrameworkConfigurationKey"
  3. สำรองไฟล์นี้ไปยังโฟลเดอร์อื่น
  4. ลบไฟล์นี้
  5. ทำตามขั้นตอนเดียวกับ 2-4 เพื่อสำรองข้อมูลและลบ iisWasKey: 76944fb33636aeddb9590521c2e8815a_ *
  6. ทำตามขั้นตอนเดียวกับ 2-4 เพื่อสำรองข้อมูลและลบ iisConfigurationKey: 6de9cb26d2b98c01ec4e9e8b34824aa2_ *
  7. เริ่ม WAS ด้วยตนเอง
    • เปิดพรอมต์คำสั่งผ่าน "run as administrator"
    • เริ่มต้นสุทธิคือ

ขอบคุณ @ yanbing-shi โปรดดูคำตอบของฉันในคำถาม
เกลน Little

เราสร้างความคืบหน้า - อย่างน้อย NetFrameworkConfigurationKey ถูกสร้างขึ้นสำเร็จ ฉันอัพเดตคำตอบด้วยขั้นตอนเพิ่มเติม
Yanbing Shi

ดีใจที่การแก้ปัญหายกเลิกการปิดกั้นคุณ แต่สาเหตุที่แท้จริงยังไม่ชัดเจน มีบางสิ่งที่เกี่ยวข้องกับปุ่มเครื่องเกิดความผิดพลาดระหว่างการอัพเกรด (และ IIS ไม่มีการควบคุม) รหัสเครื่องเก่าถูกสร้างขึ้นโดย WAS ก่อนการอัพเกรดและการอัพเกรด Windows จะนำกุญแจเหล่านี้ไปใช้กับระบบปฏิบัติการใหม่ อย่างไรก็ตามมันไม่คาดคิดอย่างสมบูรณ์ว่า WAS ที่ทำงานภายใต้บัญชี SYSTEM จะไม่สามารถเข้าถึงคีย์เครื่องที่สร้างขึ้นก่อนหน้านี้ได้เอง
Yanbing Shi

หากคุณทำตามขั้นตอนการแก้ปัญหาของฉันและสำรองคีย์เครื่องเก่าสาม RSA (1) NetFrameworkConfigurationKey (2) iisWasKey (3) iisConfigurationKey ฉันจะขอบคุณถ้าคุณสามารถให้ข้อมูลต่อไปนี้กับฉัน: ถ้าคุณเปรียบเทียบคีย์เก่าแต่ละอัน (แบ็กอัพ) กับคีย์ใหม่ที่สร้างขึ้นใหม่โดย WAS พวกเขามีชื่อไฟล์เหมือนกันหรือไม่เช่นว่า "*" ส่วน (GUID) เป็น เหมือนกัน?
Yanbing Shi

@ YanbingShi นี้แก้ไขปัญหาของฉันขอบคุณ เพื่อตอบคำถามของคุณคีย์ใหม่ที่สร้างขึ้นใหม่นั้นมีชื่อเหมือนเดิม ฉันต้องเปลี่ยนการอนุญาตของไฟล์คีย์เพื่อย้ายมัน ฉันได้รับอนุญาตแล้ว แต่ต้องการลบจากนั้นฉันต้องทำให้พวกมันใช้ร่วมกันได้โดยเฉพาะเช่นคลิกขวา> ให้เข้าถึงแล้วคลิกแชร์
Swagata

4

สำหรับฉันสิ่งนี้เริ่มต้นหลังจากใช้งาน Windows Update เมื่อวานนี้ ติดตั้งการอัปเดตตั้งแต่นั้น:

  • อัพเดตคุณสมบัติเป็น Windows 10 รุ่น 1709
  • อัปเดตสำหรับ Windows 10 KB4041994
  • 2018-01 การปรับปรุงที่สะสม KB4056892

การเริ่มบริการการเปิดใช้งานกระบวนการ Windows (WAS) ให้ข้อผิดพลาดนี้:

ข้อผิดพลาด 13: ข้อมูลไม่ถูกต้อง

จากบันทึกเหตุการณ์ระบบ:

Windows Process Activation Service (WAS) ล้มเหลวในการดำเนินการเตรียมใช้งานสำหรับการตั้งค่าออฟไลน์ เขตข้อมูลประกอบด้วยหมายเลขข้อผิดพลาด [8007000D]

ไม่รู้ว่าเกิดอะไรขึ้น ฉัน verfied ของฉันadministration.config, applicationHost.configและredirection.configมีข้อมูลที่คาดหวัง

ฉันพยายามย้อนกลับเพื่อสำรองไฟล์การกำหนดค่าโดยอัตโนมัติจากC:\inetpub\historyไม่มีผลใด ๆ

ในที่สุดฉันก็ทำตามขั้นตอนเหล่านั้น:

  1. C:\Windows\System32\inetsrv\Configการสำรองข้อมูลแฟ้มการกำหนดค่าทั้งหมดออกจาก

  2. ลบ HTTP ทุกอย่างที่เกี่ยวข้องด้วยการยกเลิกการทำเครื่องหมายต่อไปนี้จากฟีเจอร์ Windows (ถ่ายภาพหน้าจอที่ติดตั้งไว้เพื่อให้คุณสามารถติดตั้งโมดูลเดิมซ้ำได้ในภายหลัง):

    • ภายใต้. NET Framework 3.5 อย่ายกเลิกการเลือก Framework ตัวเอง:
      • การเปิดใช้งาน WCF HTTP
      • การเปิดใช้งาน WCF ไม่ใช่ HTTP
    • .NET Framework 4.7 บริการขั้นสูง
    • IIS
    • IIS Core เว็บที่โฮสต์ได้
    • บริการเปิดใช้งานกระบวนการ Windows
  3. Reboot

  4. C:\Windows\System32\inetsrvที่ถูกลบเนื้อหาที่เหลือจาก
  5. ติดตั้งฟีเจอร์ที่ถอนการติดตั้งทั้งหมดใหม่จากด้านบน
  6. ติดตั้งโมดูลการเขียนซ้ำ URL ใหม่
  7. อย่างระมัดระวังใส่กลับองค์ประกอบที่เกี่ยวข้องจากใต้<applicationPools>และ<sites>องค์ประกอบจากการสำรองข้อมูลลงในที่สร้างขึ้นใหม่applicationHost.configC:\Windows\System32\inetsrv\Config\applicationHost.config
  8. ดำเนินการiisresetจากคำสั่งยกระดับเพียงเพื่อให้แน่ใจ

และไชโยไซต์พัฒนาของฉันทั้งหมดกลับมาอีกครั้ง

หลังจากนี้ฉันเปรียบเทียบไฟล์สำรองและapplicationHost.configไฟล์ใหม่และไม่สามารถมองเห็นความแตกต่างที่สำคัญได้ ในความเป็นจริงเมื่อฉันลบข้อมูลสำรองapplicationHost.configลงในไดเรกทอรีการกำหนดค่าและเรียกใช้งานiisresetทุกอย่างยังคงทำงานอยู่ดังนั้นฉันคิดว่าไฟล์ดังกล่าวไม่ใช่สาเหตุของปัญหา


ฉันดีใจที่คุณสามารถแก้ไขปัญหานี้ได้ ก่อนหน้านี้ฉันได้ทำสิ่งนี้มาเกือบทั้งหมดแล้ว แต่หากไม่มีอะไรปรากฏขึ้นในไม่ช้าฉันจะทำอีกครั้งตามเส้นทางของคุณอย่างระมัดระวังมากขึ้น ในระหว่างนี้ฉันสามารถเปลี่ยนการพัฒนาเพื่อใช้ IIS Express แทน IIS และใช้งานได้ในตอนนี้
เกลน Little

******** อย่าทำตามคำแนะนำนี้ ******** แย่มาก ๆ ทำงานให้ฉันสักวันหนึ่ง คำแนะนำที่ไม่ดีจริงๆ เมื่อคุณถอนการติดตั้ง. NET 3.5 คุณจะไม่สามารถติดตั้งใหม่ได้หากไม่มีงานจำนวนมาก ฉันดีใจที่พบโพสต์ต่อไปนี้เพื่อแก้ไขสิ่งที่เกิดขึ้นโดยทำตามคำแนะนำด้านบน damirscorner.com/blog/posts/…
เศษส่วน

1

เรื่องนี้เกิดขึ้นกับฉันเช่นกันหลังจากการอัปเดต Windows ล่าสุด การปิดแล้วเปิดบริการการเปิดใช้งานกระบวนการ Windows ในคุณลักษณะของ Windows ได้ทำเคล็ดลับสำหรับฉัน การปิดบริการนี้จะเป็นการปิดคุณสมบัติต่อไปนี้ซึ่งคุณจะต้องเปิดอีกด้วย:

  • การเปิดใช้งาน Windows ไม่ใช่พื้นฐานการสื่อสารของ Windows
  • การเปิดใช้งาน TCP
  • การเปิดใช้งาน Pipe ที่มีชื่อ
  • การเปิดใช้งานการจัดคิวข้อความ (MSMQ)

1
การปิด WPAS (API การกำหนดค่าและรูปแบบกระบวนการเปิดอยู่) จากนั้นการเปิดใช้งานไม่ได้ช่วยในกรณีนี้
เกลน Little

1

คุณสามารถทำการตรวจสอบต่อไปนี้

  1. ตรวจสอบว่าคุณมีคีย์รีจิสทรีนี้: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ WAS \ Parameters \ NanoSetup

ฉันเชื่อว่าควรมีอยู่หากคุณประสบความล้มเหลวในการเริ่มต้น WAS

  1. ตรวจสอบว่าคุณมีไฟล์ชื่อ applicationhost.config.tmp ภายใต้ C: \ windows \ system32 \ inetsrv \ config (โฟลเดอร์ที่ applicationHost.config ของคุณอยู่)

ไฟล์ชั่วคราวนี้ควรมีอยู่เช่นกันเพื่อให้ได้รับความล้มเหลว

  1. เปิด iis.log ใน c: \ windows เลื่อนลงไปที่ท้ายไฟล์แล้วค้นหาข้อผิดพลาดล่าสุดในบันทึก เรายินดีหากคุณสามารถวางข้อความบันทึกข้อผิดพลาดที่นี่

ตอนนี้ฉันสงสัยว่าคุณจะเห็นข้อผิดพลาดใน iis.log คุณสามารถวางข้อผิดพลาดที่นี่เพื่อ จำกัด สาเหตุได้หรือไม่


1 ใช่ 2 ใช่ เพิ่มรายการบันทึกในคำถามด้านบน
เกลน Little

สิ่งนี้อาจเป็นที่สนใจ: forums.iis.net/p/1148509/1865753.aspx
Glen Little
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.