Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows

แก้ไขข้อผิดพลาด DCOM Event ID 10016 ใน Windows 10

ในบทความนี้ เราจะระบุสาเหตุและให้วิธีแก้ไขที่เป็นไปได้สำหรับปัญหา DCOM (DistributedCOM) Event ID 10016 ข้อผิดพลาดที่อาจปรากฏใน Windows Event Viewer ระหว่างการทำงานปกติของ Windows 10

Distributed Component Object Model (DCOM) เป็นแง่มุมสำคัญของการสื่อสารผ่านเครือข่ายบนคอมพิวเตอร์ Windows เป็นเทคโนโลยีเฉพาะของ Microsoft ที่ทำงานทุกครั้งที่แอปพลิเคชันเชื่อมต่ออินเทอร์เน็ต COM แบบดั้งเดิมเข้าถึงข้อมูลบนเครื่องเดียวกันเท่านั้น ในขณะที่ DCOM เข้าถึงข้อมูลบนเซิร์ฟเวอร์ระยะไกลได้

ตัวอย่างเช่น เว็บไซต์และบริการมากมายใช้สคริปต์ที่เข้าถึงเซิร์ฟเวอร์ระยะไกล เมื่อระบบของคุณสร้างคำขอผ่านสคริปต์หรือวิธีอื่น DCOM จะส่งต่อคำขอไปยังอ็อบเจกต์สคริปต์เฉพาะนั้น ด้วยความถี่ที่แอปพลิเคชันสมัยใหม่ใช้การเชื่อมต่อเครือข่ายและการใช้คอมพิวเตอร์ทั่วไป คุณเห็นได้ว่า DCOM ถูกใช้บ่อยแค่ไหน

ข้อผิดพลาด DCOM Event ID 10016

แก้ไขข้อผิดพลาด DCOM Event ID 10016 ใน Windows 10

คุณอาจสังเกตเห็น Event 10016 ด้านล่างถูกบันทึกใน System Event Logs บนคอมพิวเตอร์ที่รัน Windows 10, Windows Server 2016, Windows Server 2019, Windows Server version 1903 หรือ Windows Server 1909:

Source: Microsoft-Windows-DistributedCOM
Event ID: 10016
Description: The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{D63B10C5-BB46-4990-A94F-E40B9D520160}
and APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
to the user NT AUTHORITY\SYSTEM SID (S-1-5-18) from address LocalHost (using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

โดยทั่วไป คุณจะพบข้อผิดพลาดข้างต้นถูกบันทึกใน Event Viewer อย่างไรก็ตาม ควรทราบว่ามีรูปแบบต่างๆ ของข้อผิดพลาด Event ID 10016 อยู่ วิธีการลดข้อผิดพลาดนี้มีความเหมือนกันในหลักการ

ข้อผิดพลาด DCOM มักเกิดเมื่อแอปพลิเคชันหรือบริการพยายามใช้ DCOM แต่ไม่มีสิทธิ์ที่เหมาะสม ส่วนใหญ่ ข้อผิดพลาด DCOM ไม่ส่งผลกระทบต่อระบบของคุณ นอกจากการทำให้ Event Viewer แออัด เหตุการณ์ 10016 นี้ถูกบันทึกเมื่อคอมโพเนนต์ของ Microsoft พยายามเข้าถึงคอมโพเนนต์ DCOM โดยไม่มีสิทธิ์ที่จำเป็น ในกรณีนี้ เป็นเรื่องที่คาดการณ์ได้และเป็นการออกแบบไว้

ข้อผิดพลาด DCOM ไม่ใช่เรื่องที่ต้องกังวล – คุณสามารถเพิกเฉยได้ อย่างไรก็ตาม มีขั้นตอนที่สามารถปฏิบัติเพื่อแก้ไขข้อผิดพลาด Event ID 10016 ทุกครั้งที่เกิดขึ้น

วิธีแก้ไขข้อผิดพลาด DCOM Event ID 10016

เพื่อแก้ไขปัญหานี้ Microsoft แนะนำให้สร้าง XML Filter เพื่อซ่อนข้อผิดพลาด DCOM Event ID 10016

วิธีทำ:

  • เปิด Event Viewer (กด Windows key + R พิมพ์ eventvwr แล้วกด Enter)
  • คลิก Windows Logs > System
  • คลิก Filter current log ภายใต้แผง Action
  • เลือกแท็บ XML และติ๊กตัวเลือก Edit query manually
  • คัดลอกและวางข้อความ XML ต่อไปนี้ลงในกล่องโต้ตอบ Filter
<QueryList> <Query Id="0" Path="System"> <Select Path="System">*</Select> <Suppress Path="System"> *[System[(EventID=10016)]] and *[EventData[ ( Data[@Name='param4'] and Data='{D63B10C5-BB46-4990-A94F-E40B9D520160}' and Data[@Name='param5'] and Data='{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}' and Data[@Name='param8'] and Data='S-1-5-18' ) or ( Data[@Name='param4'] and Data='{260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E}' and Data[@Name='param5'] and Data='{260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E}' ) or ( Data[@Name='param4'] and Data='{C2F03A33-21F5-47FA-B4BB-156362A2F239}' and Data[@Name='param5'] and Data='{316CDED5-E4AE-4B15-9113-7055D84DCC97}' and Data[@Name='param8'] and Data='S-1-5-19' ) or ( Data[@Name='param4'] and Data='{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}' and Data[@Name='param5'] and Data='{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}' and Data[@Name='param8'] and Data='S-1-5-19' ) ]] </Suppress> </Query> </QueryList>

ในคิวรีนี้ param4 ตรงกับ CLSID ของแอปพลิเคชัน COM Server param5 ตรงกับ APPID และ param8 ตรงกับ Security Context SID ซึ่งทั้งหมดถูกบันทึกใน Event Log 10016

แก้ไขข้อผิดพลาด DCOM Event ID 10016 ใน Windows 10

  • คลิก OK

รายการข้อผิดพลาด DCOM ที่มี Event ID 10016 ตอนนี้ถูกซ่อนจากมุมมองแล้ว

ทางเลือกอื่นคือ แก้ไขปัญหาสิทธิ์ DCOM โดยใช้ Registry Editor และเครื่องมือ DCom Config

วิธีทำ:

การแก้ไขเกี่ยวข้องกับการปรับ Registry – ดังนั้น ขอแนะนำให้สำรอง Registry หรือสร้าง System Restore Point เป็นข้อป้องกัน

เพื่อป้องกันไม่ให้เหตุการณ์ถูกบันทึก ให้ทำตามขั้นตอนต่อไปนี้เพื่อให้สิทธิ์แก่คอมโพเนนต์ DCOM ที่มี CLSIDs และ APPIDs เฉพาะ

ก่อนอื่น คุณต้องระบุว่ากระบวนการหรือบริการใดเชื่อมโยงกับ CLASS ID ที่ระบุในข้อผิดพลาด ทำได้โดยการคัดลอก CLSID ที่ระบุในคำอธิบายเหตุการณ์ ในกรณีนี้คือ {D63B10C5-BB46-4990-A94F-E40B9D520160} ต้องคัดลอกวงเล็บปีกกาด้วย

เปิด Registry Editor เมื่อเปิดแล้ว คลิก Edit แล้ว Find วาง CLSID ลงในกล่องค้นหาและกด Enter

Registry จะเริ่มค้นหา หลังจากสักครู่ คุณควรได้ผลลัพธ์ภายใต้คีย์ HK_CLASSES_ROOT\CLSID ด้านขวาควรมีสองคีย์ และคีย์ Default ควรแสดงชื่อบริการ ในกรณีนี้คือ RuntimeBroker

แก้ไขข้อผิดพลาด DCOM Event ID 10016 ใน Windows 10

ตอนนี้คุณระบุกระบวนการแล้ว สามารถดำเนินการต่อได้ดังนี้เพื่อแก้ไขข้อผิดพลาด

  • ยังคงอยู่ใน Registry Editor ให้ไปที่คีย์ AppID ต่อไปนี้ที่เชื่อมโยงกับ RuntimeBroker:

HKEY_CLASSES_ROOT\AppID\{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}

โดยค่าเริ่มต้น TrustedInstaller เป็นเจ้าของคีย์รีจิสทรีนี้และ Subkeys ตั้งค่า Administrator เป็นเจ้าของคีย์และ Subkeys ดูวิธี Take ownership ของ Registry Keys เพิ่มเติม

  • หลังจากตั้งค่า Administrators เป็นเจ้าของ ให้กำหนดให้กลุ่ม Administrators และบัญชี SYSTEM มีสิทธิ์ Full Control สำหรับคีย์และ Subkeys
  • ออกจาก Registry Editor

ต่อไป เริ่มเครื่องมือ DCOM Configuration (กด Windows key + R พิมพ์ dcomcnfg.exe แล้วกด Enter)

  • คลิก Component Services > Computers > My Computer > DCOM Config
  • คลิกขวาที่แอปพลิเคชันที่ตรงกับ AppID ที่บันทึกใน Event Log แล้วเลือก Properties

ชื่อแอปพลิเคชันในตัวอย่างนี้คือ RuntimeBroker ที่เราระบุไว้ก่อนหน้านี้ หากเครื่องมือ DCom Config แสดงรายการ RuntimeBroker สองรายการ เพื่อหาตัวที่ถูกต้อง ให้คลิกขวาที่รายการและคลิก Properties แล้วจับคู่ App ID กับใน Registry

แก้ไขข้อผิดพลาด DCOM Event ID 10016 ใน Windows 10

  • เลือกแท็บ Security
  • ภายใต้ Launch and Activation Permissions เลือก Customize และคลิก Edit

แก้ไขข้อผิดพลาด DCOM Event ID 10016 ใน Windows 10

หากปุ่ม Edit เป็นสีเทาในหน้า Properties ของแอปพลิเคชัน RuntimeBroker ใน DCOM Config คุณจะต้องตรวจสอบสิทธิ์คีย์ Registry AppID

  • ภายใต้ Group or user names เลือก Add
  • ป้อนชื่อกลุ่มหรือผู้ใช้ที่บันทึกใน Event Log เช่น บัญชีที่บันทึกอาจเป็น NT AUTHORITY\NETWORK SERVICE, NT AUTHORITY\SYSTEM หรือกลุ่ม/บัญชีอื่นๆ
  • คลิก OK
  • กำหนดสิทธิ์ Local Activation ให้กับผู้ใช้หรือกลุ่มที่เพิ่ม และดำเนินการให้เสร็จสิ้น

ขั้นตอนนี้ป้องกันไม่ให้เกิดข้อผิดพลาด Event Log Event ID: 10016 ที่เกี่ยวกับสิทธิ์ DCOM

หมายเหตุ: Microsoft ไม่แนะนำวิธีการแก้ไขสิทธิ์บนคอมโพเนนต์ DCOM เพื่อป้องกันไม่ให้ข้อผิดพลาดนี้ถูกบันทึก เนื่องจากข้อผิดพลาดเหล่านี้ไม่ส่งผลกระทบต่อฟังก์ชันการทำงาน และการแก้ไขสิทธิ์อาจมีผลข้างเคียงที่ไม่พึงประสงค์

หวังว่าจะช่วยได้!

แก้ไขข้อผิดพลาด DCOM Event ID 10016 ใน Windows 10