Trong bài đăng này, tôi sẽ chỉ cho bạn cách sửa lỗi với EventID 10016 từ DistributedCOM nguồn trên máy tính chạy Windows 10 hoặc Windows Server 2012 R2. Sự kiện DCOM 10016 khá phổ biến trong cả phiên bản Windows máy khách và máy chủ, bắt đầu từ Windows XP và bạn có thể sửa lỗi này theo cách tương tự bất kể phiên bản Windows nào.
Sự cố tự hiển thị như sau:lỗi sau xuất hiện trong Windows Event Viewer trong phần Hệ thống khi máy tính khởi động hoặc cố gắng khởi động hoặc cài đặt một số ứng dụng:
Tên nhật ký :Hệ thốngNguồn :DistributedCOM
ID sự kiện :10016
Cấp độ :Lỗi
Người dùng :HỆ THỐNG
Mô tả :Cài đặt quyền mặc định của máy không cấp quyền Kích hoạt cục bộ cho ứng dụng Máy chủ COM có CLSID {000209FF-0000-0000-C000-000000000046} và APPID Không khả dụng cho người dùng IIS APPPOOL \ appIISPool SID (S-1-5-82 -3351576649-1006875745-771203599-42452693-1279824824) từ địa chỉ LocalHost (Sử dụng LRPC) đang chạy trong vùng chứa ứng dụng SID không khả dụng (Unavailable). Quyền bảo mật này có thể được sửa đổi bằng cách sử dụng công cụ quản trị Dịch vụ Thành phần.
Theo mô tả lỗi:một số người dùng (ví dụ:IIS Apppool) hoặc một hệ thống (NT AUTHORITY \ SYSTEM) cố gắng khởi động một số thành phần COM bằng cơ sở hạ tầng DCOM và không thể thực hiện việc này do thiếu "Local Launch" hoặc "Local Quyền kích hoạt ”. Mã lỗi chỉ chứa mã của các lớp cho thành phần COM và ứng dụng. Hãy cố gắng xác định ứng dụng cụ thể mà số nhận dạng thuộc về và cấp các quyền cần thiết để khởi chạy và kích hoạt thành công nó.
Sao chép CLSID và APPID từ mô tả sự kiện. Trong trường hợp của tôi, đó là:
CLSID:{000209FF-0000-0000-C000-000000000046}
APPID:{AD65A69D-3831-40D7-9629-9B0B50A93843}
(trong một số trường hợp, số nhận dạng ứng dụng có thể không được chỉ định - APPID Không khả dụng).
Cũng lưu ý những quyền nào bị thiếu (quyền Kích hoạt cục bộ) và tài khoản nào (NT AUTHORITY \ SYSTEM hoặc IIS APPPOOL \ appIISPool SID - S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824).
Trong mỗi trường hợp, lớp, ứng dụng, số nhận dạng tài khoản và loại truy cập có thể khác nhau.- Chạy Trình chỉnh sửa sổ đăng ký (regedit.exe);
- Đi tới khoá đăng ký tương ứng với CLSID của bạn. Trong trường hợp của tôi, đó là HKEY_CLASSES_ROOT \ CLSID \ {000209FF-0000-0000-C000-000000000046}; Trong một số trường hợp, bạn cần kiểm tra cả khóa đăng ký HKEY_CLASSES_ROOT \ Wow6432Node \ CLSID \. Khi bạn kết nối từ xa với sổ đăng ký, nó sẽ nằm trong phần đăng ký HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ AppID.
- Trong tham số lớp, tên ứng dụng phải được chỉ định (trong trường hợp của tôi, đó là Ứng dụng Microsoft Word); Thông thường, lỗi DCOM 10016 xảy ra với các thành phần sau: Vỏ chìm
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} - Nhấp chuột phải vào khoá đăng ký và chọn Quyền;
- Nhấp vào Nâng cao khuy ao;
- NT Service \ TrustedInstaller hoặc HỆ THỐNG sẽ được chỉ định trong Chủ sở hữu tiết diện;
- Nhấp vào Thay đổi và chỉ định tên tài khoản quản trị viên của bạn. Lưu các thay đổi;
- Xin lưu ý rằng tên của chủ sở hữu khoá đăng ký hiện tại đã thay đổi thành tài khoản của bạn. Chọn hộp Thay thế chủ sở hữu trên các công cụ và đối tượng phụ và nhấp vào “OK”;
- Thêm tài khoản quản trị viên của bạn vào danh sách quyền và cấp cho Toàn quyền kiểm soát quyền đối với nó;
- Bạn đã cấp quyền cho khoá đăng ký với CLSID. Bây giờ, bạn cần lặp lại các bước trước đó và thay đổi quyền sở hữu và quyền cho tài khoản quản trị viên trên khóa đăng ký APPID của bạn từ mô tả lỗi (ví dụ: HKEY_CLASSES_ROOT \ AppID \ {AD65A69D-3831-40D7-9629-9B0B50A93843};
- Bây giờ hãy chạy bảng điều khiển quản lý thành phần ( dcomcnfg ) với tư cách là quản trị viên (Bảng điều khiển -> Tất cả các mục trong Bảng điều khiển -> Công cụ quản trị -> Dịch vụ thành phần);
- Trong bảng điều khiển thành phần, chuyển đến phần Dịch vụ thành phần -> Máy tính -> Máy tính của tôi -> Cấu hình DCOM . Trong danh sách thành phần COM, tìm tên của thành phần mà bạn đã xác định ở bước thứ hai (giá trị trong cột ID ứng dụng phải khớp với CLSID của bạn từ mô tả lỗi DCOM 10016); Nếu bạn không thể tìm thấy thành phần của mình trong danh sách, bạn có thể sử dụng phiên bản Windows 64 bit và thành phần bạn muốn chạy là thành phần 32-bit. Trong trường hợp này, bạn cần khởi động bảng điều khiển DCOM bằng lệnh:
mmc comexp.msc /32
. - Nhấp vào Bảo mật chuyển hướng. Tất cả các điều khiển biểu mẫu có thể truy cập để thay đổi; Nếu bạn mở bảng điều khiển dcomcnfg trước khi thay đổi quyền trên khóa đăng ký thành phần, tất cả cài đặt trên tab Bảo mật sẽ bị khóa (không thể thay đổi), mặc dù thực tế là bạn đã khởi động bảng điều khiển với tư cách là quản trị viên.
- Trong trường hợp của tôi, ứng dụng không có quyền Kích hoạt cục bộ. Trong Quyền khởi chạy và kích hoạt , chọn Tùy chỉnh và nhấp vào Chỉnh sửa nút;
- Bạn cần thêm vào ACL một tài khoản đã được chỉ định trong mô tả lỗi. Tùy thuộc vào văn bản trong lỗi DCOM 10016, đây có thể là HỆ THỐNG, một người dùng cụ thể hoặc tài khoản mà nhóm IIS chạy (trong trường hợp này, bạn cần thêm quyền truy cập cho nhóm IIS_IUSR cục bộ); Nếu NT AUTHORITY \ NETWORK SERVICE được chỉ định trong lỗi ban đầu thay vì NT AUTHORITY \ SYSTEM, bạn phải chỉ định quyền khởi chạy và kích hoạt cục bộ cho tài khoản NetworkService.
- Cấp các quyền cần thiết cho tài khoản. Ví dụ: Khởi chạy cục bộ =Cho phép và Kích hoạt cục bộ =Cho phép .
- Khởi động lại máy tính và kiểm tra nhật ký sự kiện. Lỗi DCOM 10016 sẽ biến mất.