Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง

ในโพสต์นี้ ฉันจะแสดงวิธีแก้ไขข้อผิดพลาดด้วย EventID 10016 จาก DistributedCOM ต้นทางบนคอมพิวเตอร์ที่ใช้ Windows 10 หรือ Windows Server 2012 R2 เหตุการณ์ DCOM 10016 เกิดขึ้นได้ทั่วไปในทั้งไคลเอ็นต์และเซิร์ฟเวอร์ Windows เวอร์ชันเริ่มต้นจาก Windows XP และคุณสามารถแก้ไขข้อผิดพลาดนี้ได้ในลักษณะเดียวกันโดยไม่คำนึงถึงเวอร์ชันของ Windows

ปัญหาแสดงตัวเองดังนี้:ข้อผิดพลาดต่อไปนี้ปรากฏใน Windows Event Viewer ในส่วนระบบเมื่อคอมพิวเตอร์บูทหรือพยายามเริ่มหรือติดตั้งแอปพลิเคชันบางตัว:

ชื่อบันทึก :ระบบ
ที่มา :DistributedCOM
รหัสกิจกรรม :10016
ระดับ :ข้อผิดพลาด
ผู้ใช้ :SYSTEM
คำอธิบาย :การตั้งค่าการอนุญาตเริ่มต้นของเครื่องไม่อนุญาตให้เปิดใช้งาน Local Activation สำหรับแอปพลิเคชัน COM Server ที่มี CLSID {000209FF-0000-0000-C000-000000000046} และ APPID ไม่พร้อมใช้งานสำหรับผู้ใช้ IIS APPPOOL\appIISPool SID (S-1-5-82 -3351576649-1006875745-771203599-42452693-1279824824) จากที่อยู่ LocalHost (การใช้ LRPC) ที่ทำงานอยู่ในคอนเทนเนอร์ของแอปพลิเคชัน Unavailable SID (ไม่พร้อมใช้งาน) สิทธิ์การรักษาความปลอดภัยนี้สามารถแก้ไขได้โดยใช้เครื่องมือการดูแลระบบ Component Services

ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง

ตามคำอธิบายข้อผิดพลาด:ผู้ใช้บางคน (เช่น IIS Apppool) หรือระบบ (NT AUTHORITY\SYSTEM) พยายามเริ่มส่วนประกอบ COM บางตัวโดยใช้โครงสร้างพื้นฐาน DCOM และไม่สามารถทำได้เนื่องจาก "Local Launch" หรือ "Local" หายไป การเปิดใช้งาน” อนุญาต รหัสข้อผิดพลาดประกอบด้วยรหัสของคลาสสำหรับส่วนประกอบ COM และแอปพลิเคชันเท่านั้น มาลองพิจารณาว่าตัวระบุนั้นเป็นของแอปพลิเคชั่นใดและให้สิทธิ์ที่จำเป็นในการเปิดและเปิดใช้งานได้สำเร็จ

คัดลอก CLSID และ APPID จากคำอธิบายเหตุการณ์ ในกรณีของฉันคือ:

CLSID :{000209FF-0000-0000-C000-000000000046}
APPID:{AD65A69D-3831-40D7-9629-9B0B50A93843}

(ในบางกรณี อาจไม่ระบุตัวระบุแอปพลิเคชัน – APPID ไม่พร้อมใช้งาน)

นอกจากนี้ ให้สังเกตด้วยว่าสิทธิ์ใดบ้างที่ขาดหายไป (สิทธิ์การเปิดใช้งานในเครื่อง) และสำหรับบัญชีใด (NT AUTHORITY\SYSTEM หรือ IIS APPPOOL\appIISPool SID — S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824)

ในแต่ละกรณี คลาส แอปพลิเคชัน ตัวระบุบัญชี และประเภทการเข้าถึงอาจแตกต่างกัน
  1. เรียกใช้ Registry Editor (regedit.exe);
  2. ไปที่รีจิสตรีคีย์ที่สอดคล้องกับ CLSID ของคุณ ในกรณีของฉันคือ HKEY_CLASSES_ROOT\CLSID\ {000209FF-0000-0000-C000-00000000000046}; ในบางกรณี คุณต้องตรวจสอบรีจิสตรีคีย์ด้วย HKEY_CLASSES_ROOT\Wow6432Node\CLSID\ เมื่อคุณเชื่อมต่อกับรีจิสตรีจากระยะไกล รีจิสตรีจะอยู่ในส่วนรีจิสตรี HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
  3. ในพารามิเตอร์คลาส ต้องระบุชื่อแอป (ในกรณีของฉันคือแอปพลิเคชัน Microsoft Word); บ่อยครั้งที่ข้อผิดพลาด DCOM 10016 เกิดขึ้นกับส่วนประกอบต่อไปนี้:Immersive Shell
    CLSID:{C2F03A33-21F5-47FA-B4BB-156362A2F239}
    APPID:{316CDED5-E4AE-4B15-9113-7055D84DCC97}
    RuntimeBroker
    CLSID:{D63B10C5-BB46-4990-A94F-E40B9D520160}
    APPID :{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  4. คลิกขวาที่รีจิสตรีคีย์และเลือก Permissions; ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  5. คลิกที่ ขั้นสูง ปุ่ม; ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  6. NT Service\TrustedInstaller หรือ ระบบ จะถูกระบุใน เจ้าของ ส่วน; ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  7. คลิกปุ่ม เปลี่ยน ปุ่มและระบุชื่อบัญชีผู้ดูแลระบบของคุณ บันทึกการเปลี่ยนแปลง; ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  8. โปรดทราบว่าชื่อของเจ้าของคีย์รีจิสทรีปัจจุบันได้เปลี่ยนเป็นบัญชีของคุณแล้ว ทำเครื่องหมายที่ช่องแทนที่เจ้าของในคอนเทนเนอร์ย่อยและวัตถุ และคลิก "ตกลง"; ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  9. เพิ่มบัญชีผู้ดูแลระบบของคุณในรายการสิทธิ์และให้การควบคุมทั้งหมด สิทธิ์ของมัน; ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  10. คุณได้ให้สิทธิ์กับรีจิสทรีคีย์ด้วย CLSID ตอนนี้ คุณต้องทำซ้ำขั้นตอนก่อนหน้านี้และเปลี่ยนความเป็นเจ้าของและการอนุญาตสำหรับบัญชีผู้ดูแลระบบในคีย์รีจิสทรีของ APPID ของคุณจากคำอธิบายข้อผิดพลาด (เช่น HKEY_CLASSES_ROOT\AppID\ {AD65A69D-3831-40D7-9629-9B0B50A93843};
  11. ตอนนี้ให้เรียกใช้คอนโซลการจัดการส่วนประกอบ (dcomcnfg ) ในฐานะผู้ดูแลระบบ (แผงควบคุม -> รายการแผงควบคุมทั้งหมด -> เครื่องมือการดูแลระบบ -> บริการคอมโพเนนต์) ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  12. ในคอนโซลคอมโพเนนต์ ไปที่ส่วน บริการคอมโพเนนต์ -> คอมพิวเตอร์ -> คอมพิวเตอร์ของฉัน -> การกำหนดค่า DCOM . ในรายการส่วนประกอบ COM ให้ค้นหาชื่อของส่วนประกอบที่คุณกำหนดไว้ในขั้นตอนที่สอง (ค่าในคอลัมน์ ID แอปพลิเคชันต้องตรงกับ CLSID ของคุณจากคำอธิบายข้อผิดพลาด DCOM 10016) ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง หากคุณไม่พบส่วนประกอบของคุณในรายการ คุณอาจใช้ Windows รุ่น 64 บิตและ องค์ประกอบที่คุณต้องการเรียกใช้คือส่วนประกอบแบบ 32 บิต ในกรณีนี้ คุณต้องเริ่มคอนโซล DCOM โดยใช้คำสั่ง:mmc comexp.msc /32 .
  13. คลิกที่ ความปลอดภัย แท็บ การควบคุมแบบฟอร์มทั้งหมดที่สามารถเปลี่ยนแปลงได้ ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง หากคุณเปิดคอนโซล dcomcnfg ก่อนเปลี่ยนการอนุญาตบนรีจิสตรีคีย์ของส่วนประกอบ การตั้งค่าทั้งหมดในแท็บความปลอดภัยจะ ถูกล็อค (ไม่สามารถเปลี่ยนแปลงได้) แม้ว่าคุณจะเริ่มคอนโซลในฐานะผู้ดูแลระบบก็ตาม ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  14. ในกรณีของฉัน แอปพลิเคชันไม่ได้รับอนุญาตให้เปิดใช้งานในเครื่อง ใน สิทธิ์ในการเปิดและเปิดใช้งาน ส่วน เลือก ปรับแต่ง และคลิกปุ่ม แก้ไข ปุ่ม;
  15. คุณต้องเพิ่มบัญชีที่ระบุในคำอธิบายข้อผิดพลาดลงใน ACL ขึ้นอยู่กับข้อความในข้อผิดพลาด DCOM 10016 ซึ่งอาจเป็น SYSTEM ผู้ใช้เฉพาะ หรือบัญชีที่เรียกใช้ IIS Pool (ในกรณีนี้ คุณต้องเพิ่มการเข้าถึงสำหรับกลุ่ม IIS_IUSR ในเครื่อง) หาก NT AUTHORITY\NETWORK SERVICE ถูกระบุในข้อผิดพลาดเริ่มต้นแทนที่จะเป็น NT AUTHORITY\SYSTEM คุณต้องกำหนดสิทธิ์ในการเปิดใช้และเปิดใช้งานในเครื่องสำหรับบัญชี NetworkService
  16. ให้สิทธิ์ที่จำเป็นสำหรับบัญชี ตัวอย่างเช่น การเปิดใช้ในพื้นที่ =อนุญาต และ การเปิดใช้งานในพื้นที่ =อนุญาต . ข้อผิดพลาด DistributedCOM 10016 ใน Windows:การตั้งค่าการอนุญาตเฉพาะแอปพลิเคชันไม่ให้สิทธิ์การเปิดใช้งานในเครื่อง
  17. รีสตาร์ทคอมพิวเตอร์และตรวจสอบบันทึกเหตุการณ์ ข้อผิดพลาด DCOM 10016 ควรหายไป