เมื่อเร็ว ๆ นี้บนพีซี Windows 8.1 ของฉันฉันเริ่มได้รับข้อผิดพลาดในบันทึกเหตุการณ์หลังจากติดตั้งการอัปเดตใน Patch Tuesday ข้อผิดพลาดเกี่ยวข้องกับ Distributed COM (DCOM):
วิธีรับเครดิตเสียง
การตั้งค่าสิทธิ์เฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานภายในสำหรับแอปพลิเคชันเซิร์ฟเวอร์ COM ที่มี CLSID {9E175B6D-F52A-11D8-B9A5-505054503030} และ APPID {9E175B9C-F52A-11D8-B9A5-505054503030} ให้กับผู้ใช้ PCNAME ชื่อผู้ใช้ SID S-1-5-21-81864976-3388411891-1937036257-1001 จากที่อยู่ LocalHost (ใช้ LRPC) ที่รันในแอปพลิเคชันคอนเทนเนอร์ Unavailable SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804- 1277922394) สิทธิ์การรักษาความปลอดภัยนี้สามารถแก้ไขได้โดยใช้เครื่องมือการดูแลระบบ Component Services
ข้อผิดพลาดที่ซับซ้อนเช่นนี้อาจทำให้ผู้ใช้ที่ไม่มีประสบการณ์รู้สึกหงุดหงิด พวกเขาไม่คุ้นเคยกับคำศัพท์นี้ นอกจากนี้การแก้ไขข้อผิดพลาด DCOM เป็นความเจ็บปวดดังนั้นฉันจึงไม่สนใจในตอนแรก แต่บันทึกเหตุการณ์เต็มไปด้วยสิ่งเหล่านี้เนื่องจากเกิดขึ้นทุก ๆ ชั่วโมงหรือมากกว่านั้น มุ่งมั่นที่จะแก้ไขฉันตัดสินใจที่จะตรวจสอบ
การโฆษณา
สำหรับผู้ที่ไม่รู้จัก COM เป็นเทคโนโลยีการสื่อสารระหว่างกระบวนการเชิงวัตถุแบบเก่าของ Microsoft เซิร์ฟเวอร์ COM เป็นไฟล์ปฏิบัติการ (EXE หรือ DLL) ที่ใช้ชุดของวัตถุ COM ส่วนประกอบของ Windows จำนวนมากถูกนำไปใช้เป็นวัตถุ COM และปฏิบัติตามกฎ COM มาตรฐานเพื่อสื่อสารระหว่างกัน เซิร์ฟเวอร์ COM ได้รับการลงทะเบียนใน Registry และมี Class ID (CLSID) และ APPID
ขั้นตอนแรกในการแก้ไขข้อผิดพลาดนี้คือการค้นหาว่าส่วนประกอบ DCOM ใดที่ CLSID และ APPID เกี่ยวข้อง ดังนั้นให้เปิด Registry Editor แล้วไปที่คีย์ Registry นี้:
HKEY_CLASSES_ROOT CLSID {9E175B6D-F52A-11D8-B9A5-505054503030}
คีย์รีจิสทรีนี้ยังชี้ไปที่ AppID เดียวกันกับข้อความแสดงข้อผิดพลาดซึ่งก็คือ {9E175B9C-F52A-11D8-B9A5-505054503030} ไปที่
HKCR APPID {9E175B9C-F52A-11D8-B9A5-505054503030}
สิ่งนี้บอกฉันว่าส่วนประกอบคือ WSearch (วัตถุ Windows Search COM)
ขั้นตอนต่อไปคือการกำหนดให้กับ CLSID / AppID นี้ซึ่งเป็นสิทธิ์การเปิดใช้งานภายในที่ถูกต้องที่ต้องการ - ของ ID ความปลอดภัยของผู้ใช้ (SID) และ SID ของแอป ในการทำเช่นนั้น Windows มีเครื่องมือบริการคอมโพเนนต์ซึ่งช่วยให้ผู้ใช้สามารถแก้ไขสิทธิ์การเปิดใช้งานและการเปิดใช้งานสิทธิ์การเข้าถึงและสิทธิ์การกำหนดค่าบนเซิร์ฟเวอร์ COM
เปิดเครื่องมือการดูแลระบบ -> บริการคอมโพเนนต์ ขยายบริการคอมโพเนนต์ -> คอมพิวเตอร์ -> คอมพิวเตอร์ของฉัน -> การกำหนดค่า DCOM ค้นหา 'WSearch' และคลิกขวา -> Properties ไปที่แท็บ 'ความปลอดภัย'
เมื่อทำเช่นนี้ฉันเห็นว่าทุกอย่างเป็นสีเทา (ปิดใช้งาน) บนแท็บความปลอดภัยสำหรับวัตถุ COM นี้ดังนั้นฉันจึงต้องให้สิทธิ์บัญชีผู้ใช้ของฉันใน Registry อย่างเต็มที่ก่อน ฉันเปิด Regedit อีกครั้งและไปที่คีย์เดิม
HKEY_CLASSES_ROOT AppID {9E175B9C-F52A-11D8-B9A5-505054503030}
และเปลี่ยนสิทธิ์ ก่อนอื่นคุณต้องเป็นเจ้าของ (ทำเครื่องหมายที่ 'แทนที่เจ้าของในคอนเทนเนอร์ย่อยและวัตถุ') จากนั้นเพิ่มชื่อผู้ใช้ของคุณและให้การควบคุมทั้งหมด หลังจากนั้นคุณสามารถเปลี่ยนความเป็นเจ้าของกลับเป็นบัญชีเดิมได้ (NT Service TrustedInstaller)
การเป็นเจ้าของและให้สิทธิ์ผู้ดูแลระบบทำได้ง่ายมากด้วย Winaero's RegOwnershipEx แอป
ตอนนี้ฉันเปิดบริการคอมโพเนนต์ (Dcomcnfg.exe) อีกครั้งและไปที่คุณสมบัติ WSearch แท็บความปลอดภัยและตอนนี้สามารถแก้ไขสิทธิ์การรักษาความปลอดภัยในการเปิดใช้และสิทธิ์การเปิดใช้งานซึ่งจะแสดงดังนี้:
ผ่านกลุ่มความปลอดภัยทุกคนบัญชีผู้ใช้ของฉันมีสิทธิ์การเปิดใช้งานภายในเครื่องอยู่แล้ว แต่ยังมี SID อีก 3 รายการที่แสดงซึ่งไม่รู้จักบัญชีผู้ใช้หรือกลุ่มตามที่ไอคอนระบุ เป็น Application SID และอ้างถึง Applications ข้อผิดพลาดในบันทึกเหตุการณ์ยังกล่าวว่า '... กำลังทำงานในคอนเทนเนอร์ของแอปพลิเคชัน Unavailable SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394)
ตอนนี้ UI ตัวเลือกวัตถุของ Windows ดูเหมือนจะไม่อนุญาตให้คุณเพิ่ม SID ของแอปพลิเคชันสำหรับวัตถุหลักด้านความปลอดภัย หลังจากคลิกเพิ่มฉันจึงคลิกขั้นสูง ... จากนั้นค้นหาเดี๋ยวนี้ นี่จะแสดงรายการวัตถุทั้งหมด แต่ส่วนใหญ่เป็น SID ของบัญชี ฉันสังเกตเห็น 'แพ็คเกจแอปพลิเคชันทั้งหมด' ซึ่งตามชื่อที่บ่งบอกว่าอาจเป็นกลุ่มสำหรับแพ็คเกจแอปพลิเคชันทั้งหมดดังนั้นฉันจึงเลือก คลิกตกลงทุกที่เพื่อเพิ่มจากนั้นให้สิทธิ์ Local Launch และ Local Activation
วิธีหมุนเครื่องเล่นสื่อ windows ของวิดีโอ
ตอนนี้เมื่อคลิกตกลงและปิด Component Services UI ข้อผิดพลาดจะหายไปจากบันทึกเหตุการณ์ซึ่งหมายความว่าคอมโพเนนต์ WSearch COM มีสิทธิ์การเปิดใช้งานและการเปิดใช้งานภายในที่ถูกต้อง
ฉันเขียนบทความนี้เพื่อเป็นแนวทางทั่วไปเพื่อช่วยคนอื่น ๆ ในการแก้ไขข้อผิดพลาด DCOM ในบันทึกเหตุการณ์ในลักษณะเดียวกัน ฉันยังคงกังวลว่าเหตุใด Windows จึงไม่มีเครื่องมือในการคืนค่าสิทธิ์ที่ถูกต้องให้กับวัตถุ COM ในกรณีที่เกิดความสับสน