نحوه رفع خطای DCOM Event ID 10016 در ویندوز 10

در پست امروز، علت را شناسایی کرده و سپس راه‌حل‌های ممکن را برای مشکل خطای DCOM (DistributedCOM) Event ID 10016 که ممکن است در نمایشگر رویداد (DCOM (DistributedCOM) Event ID 10016)ویندوز(Windows) در طول عملیات عادی ویندوز 10(Windows 10) نشان داده شود، ارائه می‌کنیم.

مدل  شیء جزء توزیع شده (DCOM)(Distributed Component Object Model (DCOM)) یک جنبه جدایی ناپذیر از ارتباطات شبکه ای در رایانه های ویندوزی(Windows) است. این یک فناوری انحصاری مایکروسافت(Microsoft) است که هر بار که یک برنامه کاربردی به اینترنت متصل می شود، وارد عمل می شود. یک COM سنتی فقط می تواند به اطلاعات روی یک دستگاه دسترسی داشته باشد، در حالی که DCOM می تواند به داده ها در سرورهای راه دور دسترسی داشته باشد.

به عنوان مثال، بسیاری از وب سایت ها و سرویس ها از اسکریپت هایی استفاده می کنند که به یک سرور راه دور دسترسی دارند. هنگامی که سیستم شما با استفاده از یک اسکریپت یا موارد دیگر درخواستی می دهد، DCOM درخواست را به شی اسکریپت خاص ارسال می کند. با توجه به اینکه برنامه‌های مدرن چقدر از اتصال شبکه استفاده می‌کنند و استفاده عمومی ما از رایانه‌ها، می‌توانید ببینید که DCOM چقدر مورد استفاده قرار می‌گیرد.

خطای 10016 شناسه رویداد DCOM

خطای 10016 شناسه رویداد DCOM

ممکن است متوجه شوید که رویداد 10016 در گزارش‌های رویدادهای سیستم در رایانه‌ای که دارای Windows 10 ، Windows Server 2016 ، Windows Server 2019، Windows Server ، نسخه 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 ID 10016 تغییراتی دارد . با این وجود(Nevertheless) ، روش کاهش خطا اساساً یکسان است.

خطای DCOM معمولاً زمانی رخ می دهد که یک برنامه یا سرویس تلاش می کند از DCOM استفاده کند اما مجوزهای لازم را ندارد. بیشتر اوقات، خطاهای DCOM بر سیستم شما تأثیر نمی گذارد، به جز مسدود کردن Event Viewer . این رویدادهای 10016 زمانی ثبت می شوند که اجزای مایکروسافت(Microsoft) سعی می کنند بدون مجوزهای لازم به اجزای DCOM دسترسی پیدا کنند. (DCOM)در این مورد، این مورد انتظار و با طراحی است.

خطاهای DCOM جای نگرانی ندارند - می توانید با خیال راحت آنها را نادیده بگیرید. با این حال، رویه‌هایی وجود دارد که می‌توانید برای رفع خطای رویداد ID 10016 هر زمان که رخ داد، دنبال کنید.

نحوه رفع خطای DCOM event ID 10016

برای حل این مشکل، مایکروسافت(Microsoft) پیشنهاد می‌کند یک فیلتر XML برای سرکوب خطای 10016(ID 10016) رویداد DCOM ایجاد کنید.(DCOM)

در اینجا چگونه است:

  • Event Viewer را باز کنید ( کلید Windows(Press Windows) + R را فشار دهید. در کادر محاوره‌ای Run ، eventvwr را تایپ کرده و Enter را بزنید).
  • Windows Logs > System را(System) بزنید.
  • در زیر پنجره Action روی  Filter log (Filter current log ) کلیک کنید .
  • تب XML را انتخاب کرده و گزینه Edit query manually را علامت بزنید.
  • متن XML زیر را کپی کرده و در گفتگوی فیلتر قرار دهید.
<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 مربوط به (param8)SID  زمینه امنیتی است ، که همه آنها در گزارش های رویداد 10016 ثبت شده اند.

  • روی OK کلیک کنید .

ورودی های خطای DCOM با (DCOM)شناسه رویداد 10016(Event ID 10016) اکنون از دید پنهان هستند.

همچنین، می‌توانید با استفاده از ویرایشگر رجیستری(Registry Editor) و ابزار پیکربندی DCom ، مشکل (DCom Config)مجوزهای DCOM را برطرف کنید.(DCOM Permissions)

در اینجا چگونه است:

این اصلاح شامل یک تغییر رجیستری است – بنابراین به عنوان یک اقدام احتیاطی، توصیه می‌شود از رجیستری نسخه پشتیبان(back up the registry) تهیه کنید یا یک نقطه بازیابی سیستم ایجاد کنید .

برای جلوگیری از ثبت رویدادها، این مراحل را دنبال کنید تا به مؤلفه‌های DCOM که دارای CLSID و APPID خاص هستند مجوز (CLSIDs)بدهید(APPIDs) .

ابتدا، باید بفهمید که کدام فرآیند یا سرویس با شناسه CLASS(CLASS ID) فهرست شده در خطا مرتبط است. برای انجام این کار، پیش بروید و CLSID فهرست شده در توضیحات رویداد را کپی کنید. در این مورد {D63B10C5-BB46-4990-A94F-E40B9D520160} است. مطمئن شوید که هر دو بریس مجعد را نیز کپی کنید.

اکنون، ویرایشگر رجیستری را راه اندازی کنید. وقتی ویرایشگر رجیستری را باز کردید، روی  Edit  و سپس  Find کلیک کنید . ادامه دهید و CLSID را در کادر جستجو قرار دهید و Enter را بزنید .

اکنون رجیستری جستجو را آغاز می کند. پس از مدتی، باید با کلید HK_CLASSES_ROOT\CLSID نتیجه بگیرید  . در سمت راست، باید دو کلید داشته باشد و کلید  پیش فرض(Default) باید نام سرویس را ذکر کند. در این مورد، باید RuntimeBroker باشد.

اکنون که فرآیند را شناسایی کرده اید، اکنون می توانید برای رفع خطا به روش زیر عمل کنید.

  • با این حال، در ویرایشگر رجیستری، به کلید AppID زیر مرتبط با RuntimeBroker بروید:

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

به طور پیش فرض، TrustedInstaller مالک این کلید رجیستری و کلیدهای فرعی آن است. Administrator(Set Administrator) را به عنوان مالک کلید و کلیدهای فرعی آن تنظیم کنید. برای اطلاعات  بیشتر ، نحوه مالکیت کلیدهای رجیستری(how to take ownership of registry keys)  را ببینید.

  • پس از تنظیم Administrators  به ​​عنوان مالک،   گروه  Administrators را اختصاص دهید و  حساب SYSTEM دارای مجوز (SYSTEM)کنترل کامل(Full Control) برای کلید و کلیدهای فرعی است.
  • از ویرایشگر رجیستری خارج شوید.

بعد، ابزار پیکربندی DCOM را اجرا کنید (کلید (DCOM Configuration)Windows + R را فشار دهید. در کادر محاوره‌ای Run ، dcomcnfg.exe  را تایپ کنید و Enter را بزنید.

  • روی Component Services > Computers > My Comput er > DCOM Config کلیک کنید .
  • (Right-click)روی برنامه ای که مربوط به AppID است که در گزارش رویداد ثبت شده است کلیک راست کنید و سپس Properties را انتخاب کنید .

نام برنامه در این مثال RuntimeBroker است که قبلا شناسایی کردیم. اگر ابزار DCom Config دو ورودی RuntimeBroker را فهرست کند. برای پیدا کردن مورد مناسب، روی یک مورد کلیک راست کرده و روی Properties کلیک کنید و شناسه برنامه(App ID) را با شناسه موجود در رجیستری مطابقت دهید.

  • تب Security را انتخاب کنید.
  • در قسمت Launch and Activation Permissions(Launch and Activation Permissions) ، Customize را انتخاب کرده و روی Edit کلیک کنید .

اگر دکمه ویرایش در صفحه (Edit)ویژگی(Properties) های برنامه RuntimeBroker در DCOM Config خاکستری است ، باید مجوزهای کلید رجیستری AppID را تأیید کنید.(AppID)

  • در زیر نام های گروه یا کاربری ، (Group or user names)افزودن(Add) را انتخاب کنید .
  • گروه یا نام(Enter) کاربری را که در گزارش رویداد ثبت شده است وارد کنید. به عنوان مثال، حساب ثبت شده در گزارش ممکن است NT AUTHORITY\NETWORK SERVICE ، NT AUTHORITY\SYSTEM یا گروه یا حساب دیگری باشد.
  • روی OK کلیک کنید .
  • مجوز Local Activation(Assign Local Activation) را برای آن کاربر یا گروهی که اضافه کردید اختصاص دهید و فرآیند را تکمیل کنید.

این روش از خطاهای ثبت رویداد جلوگیری می کند. شناسه رویداد(Event ID) : 10016 مربوط به مجوزهای DCOM .

توجه(Note) : مایکروسافت(Microsoft) روش اصلاح مجوزهای اجزای DCOM را برای جلوگیری از ثبت این خطا توصیه نمی کند زیرا این خطاها تأثیر منفی بر عملکرد نمی گذارد و تغییر مجوزها می تواند عوارض جانبی ناخواسته ای داشته باشد.

Hope this helps!



About the author

من یک مهندس نرم افزار و متخصص ویندوز 10 هستم. من بیش از دو سال تجربه کار با گوشی های هوشمند، ویندوز 10 و مایکروسافت اج را دارم. تمرکز اصلی من این است که دستگاه‌های شما بهتر و سریع‌تر کار کنند. من روی پروژه های مختلفی برای شرکت هایی مانند Verizon، IMac، HP، Comcast و بسیاری دیگر کار کرده ام. من همچنین یک مدرس معتبر در آموزش ابری Microsoft Azure هستم.



Related posts