حل مشکلات رایج عیب یابی و تعمیر یا ایجاد مجدد WMI Repository در ویندوز 10

ساخت وبلاگ




خیلی از مواقع ممکن است WMI Repository به صورتی خراب شود که حتی تامین کننده قادر به لود شدن نباشد.
جهت اطلاع بیشتر، Windows Management Instrumentation یا WMI دسته ای از خصوصیاتی می باشد که توسط مایکروسافت جهت ادغام مدیریت دستگاه ها و نرم افزارها در شبکه ایجاد شده است. این یک پایگاه داده می باشد که meta-information و تعاریف کلاس های WMI را در خود ذخیره کرده است که تنها با استفاده از آن، وضعیت سیستم قابل شناسایی و درک است.

WMI Repository در مسیر زیر در ویندوز ذخیره خواهد شد:
کد:

%windir%System32WbemRepository


به طور خلاصه، WMI Repository شرایطی را برای کاربران فراهم می کند که قادر باشند وضعیت سیستم محلی یا ریموت را متوجه شوند.
در این آموزش یاد خواهید گرفت که چگونه WMI Repository را عیب یابی کرده و در صورت وجود خطا یا اختلال آن را تعمیر یا مجدد ایجاد کنید.
هرگز بر روی ویندوز سرور 2012 این اقدامات را انجام ندهید.
رفع این مشکل

  • تعمیر یا ایجاد مجدد WMI Repository:

    • دستورات خط فرمان جهت تعمیر WMI Repository وجود دارد، اما مایکروسافت پیشنهاد کرده است که قبل از آن مطمئن شوید که خطایی وجود دارد یا خیر:
      1. ​عدم امکان اتصال به namespaceهای ریشه پیشفرض یا rootcimv2. با خطای کد "0x80041002" اشاره به "WBEM_E_NOT_FOUND".
      2. زمان اجرا کردن Computer Management و یا کلیک راست بر روی Computer Management (محلی) و انتخاب گزینه Properties که با پیغام "WMI: Not Found" مواجه خواهید شد و یا زمان اتصال هنگ خواهد کرد.
      3. خطای 0x80041010 WBEM_E_INVALID_CLASS.
      4. زمان استفاده از wbemtest که هنگ خواهد کرد.
      5. ناپدید شدن Schemas/Objects.
      6. دریافت خطایی نامفهوم در زمان انجام عملیات و یا برقراری ارتباط با کد خطای "0x8007054e".

    • بهترین روش جهت عیب یابی اجرای دستور زیر در Command Prompt اجرا شده توسط Administrator می باشد:
      کد:

      winmgmt /verifyrepository

      • در صورتی که خطایی نداشته باشد پیغام "WMI repository is consistent" و در غیر این صورت پیغام "WMI repository is not consistent" را نمایش خواهد داد.
      • اما در صورتی که پیغام دیگری دریافت کردید مشکل از جای دیگری می باشد.

    • حال که متوجه خطای بوجود آمده شده اید:


  1. ​ریست کردن WMI Repository:
    • Command Prompt را با مجوز Administrator اجرا کنید.
    • دستور زیر را اجرا کنید:
      کد:

      winmmgmt /salvagerepository
      • اجرای دستور winmmgmt با salvagerepository یک بررسی سازگاری را انجام خواهد داد و در صورتی که ناسازگاری را پیدا کند Repository یا مخزن را مجدد ایجاد خواهد کرد.

    • سپس دستور زیر را اجرا کرده تا متوجه شوید مشکل برطرف شده است یا خیر:
      کد:

      winmgmt /verifyrepository
    • در صورتی که پیغام "WMI repository is not consistent" را نمایش داد باید دستور زیر را اجرا کنید:
      کد:

      winmgmt /resetrepository
      • اجرای دستور winmmgmt با resetrepository مخزن یا Repository را به حالت اولیه که سیستم عامل نصب شده بود بازگردانی خواهد کرد.

    • این دستورها در جهت رفع خطای WMI Repository به شما کمک خواهد کرد.

  2. بازگردانی WMI:
    • WMI یک حالت خود بازگردانی درونی دارد که اگر سرویس آن ریست شود این عملیات به صورت خودکار انجام خواهند شد که دو حالت دارد:
      1. ​AutoRestore: در صورتی که بکاپ (VSS (Volume Shadow copy Service فعال باشد با استفاده از ایمیجهای بکاپ انجام خواهد شد.
      2. AutoRecovery: در این حالت، ایمیج جدیدی از مخزن یا Repository با استفاده از MOFهای رجیستر شده ایجاد خواهد کرد. MOFها در مسیر زیر در رجیستری ویندوز قرار دارند: (Managed Object Format)
        کد:

        HKLMSoftwareMicrosoftWBEMCIMOMAutorecover MOFs


      • Autorecover MOFs یک کلید می باشد که می توانید با دابل کلیک کردن بر روی آن مقادیر آن را چک کنید.​

    • در صورتی که بازگردانی خودکار WMI انجام نشد، می توانید از حالت Force Recovery یا بازگردانی اجباری استفاده کنید:
      1. ​در مسیر زیر چک کنید که مقدار کلید Autorecover MOFs خالی می باشد یا خیر:
        کد:

        HKLMSoftwareMicrosoftWBEMCIMOMAutorecover MOFs
      2. در صورتی که مقدار کلید خالی بود، مقادیر را از سیستمی دیگر کپی کنید، مطمئن شوید که سیستمی که مقادیر را از آن کپی می کنید معادل کامپیوتر مدنظر باشد.
      3. سپس دستور زیر را اجرا کنید: (همانند قبل در Command Prompt با مجوز Administrator)
        کد:

        Winmgmt /resetrepository
      4. در صورتی که با پیغام خطای "WMI repository reset failed. Error code:0x8007041B. Facility: Win32" مواجه شدید همه سرویس های مرتبط با سرویس WMI را متوقف کرده و سپس دستورات زیر را اجرا کنید:
        کد:

        net stop winmgmt /y

        Winmgmt /resetrepository

        • ​جهت شناسایی سرویس های مرتبط:


        1. ​وارد بخش Services شده و بر روی سرویس WMI دابل کلیک کنید.
        2. در پنجره باز شده وارد سرفصل Dependencies شوید.


سافتر...
ما را در سایت سافتر دنبال می کنید

برچسب : نویسنده : کاوه محمدزادگان softer بازدید : 1071 تاريخ : يکشنبه 5 اسفند 1397 ساعت: 23:24

خبرنامه