🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
ليس لدينا DLL ولكن لدينا:
تحليل ملفات ويندوز & مكافحة الفيروسات السريعة عبر الإنترنت

واجهة بسيطة تتميز بالبحث السريع، والتحميل المريح، وهيكل القسم النظيف.

🛡️🔍 التحقق السريع ملفك، مجرد إسقاط على هذه الصفحة.
فحص الفيروسات، التجزئة، التحقق من التوقيع، الهندسة المعمارية، معلومات الذكاء الاصطناعي.

كيفية إصلاح "لا يمكن لـ WinRM معالجة الطلب لأن كائن WMI يحتوي على العديد من المستويات من الكائنات المضمنة المترابطة".

وصف الخطأ

رسالة الخطأ "WinRM cannot process the request because the WMI object contains too many levels of nested embedded objects" occurs when a Windows Remote Management (WinRM) query attempts to retrieve Windows Management Instrumentation (WMI) data that exceeds the default serialization depth limit.

يستخدم WinRM بروتوكولًا قائمًا على XML (WS-Management) لنقل البيانات. لمنع هجمات رفض الخدمة (DoS) واستهلاك الذاكرة المفرط ، يفرض Windows حدًا أمنيًا صارمًا على مدى عمق الأشياء التي يمكن تجميعها داخل بعضها البعض أثناء عملية الترجمة هذه. عندما يتجاوز استفسار معقد (غالباً ما يتعلق بمكونات النظام المتجذرة بعمق ، أو التجميع ، أو وكلاء المراقبة من طرف ثالث) هذا الحد ، يقوم WinRM بإيقاف العملية ويلقي هذا الخطأ.


إصلاح خطوة بخطوة

لحل هذه المشكلة، يجب عليك زيادة الحد الأقصى للعمق المسموح به لأجسام WMI المتداخلة في تكوين WinRM. يجب تطبيق هذا التغيير عبر واجهة سطر الأوامر الإدارية.

الخطوة 1: افتح PowerShell كمسؤول

  1. اضغط على Windows Key على لوحة المفاتيح الخاصة بك.
  2. النوع PowerShell في شريط البحث.
  3. انقر على Windows PowerShell من نتائج البحث.
  4. اختر Run as administrator.
  5. انقر Yes إذا ظهرت إشارة تحكم حساب المستخدم (UAC).

الخطوة 2: تحقق من MaxEnvelopeSize الحالي (اختياري)

قبل إجراء التغييرات، يمكنك عرض حدود تكوين WinRM الحالية من خلال تشغيل الأمر التالي:

winrm get winrm/config

انظر من خلال المخرج من أجل MaxEnvelopeSizekb أو حدود معالجة XML بموجب soap أو xml أجزاء التعشيش لفهم خطك الأساسي.

الخطوة الثالثة: زيادة الحد الأقصى لعمق التعشيش XML

قم بتشغيل الأمر التالي لزيادة الحد الأقصى لعمق الهيكل المسموح به من قبل خدمة WinRM. بشكل افتراضي ، غالبًا ما يتم تعيين هذه القيمة إلى 10. زيادتها إلى 30 أو أعلى عادة ما تحل أخطاء الكائنات المتربطة المعقدة:

winrm set winrm/config @{MaxEnvelopeSizekb="8000"}

بعد ذلك، قم بتكوين حد عمق معالجة XML بوضوح باستخدام هذه الأوامر:

winrm set winrm/config/soap @{MaxXMLNestingDepth="30"}

(ملاحظة: إذا كانت نسخة ويندوز الخاصة بك لا تدعم MaxXMLNestingDepth خاصية مباشرة من خلال هذا المسار، المضي قدما إلى الخطوة 4 لتطبيق التكوين من خلال سجل ويندوز).

الخطوة 4: إصلاح التسجيل البديل (إذا فشلت أوامر PowerShell)

إذا رفضت خدمة سطر الأوامر WinRM بناء الجملة الخاصية، يمكنك تطبيق حد التعشيش مباشرة عبر سجل Windows:

  1. اضغط Windows Key + R ، نوع regedit و اضغط Enter لفتح محرر السجل
  2. انتقل إلى مسار السجل التالي: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\
  3. ابحث عن مفتاح أو كلمة اسمها MaxXMLNestingDepth.
  4. إذا لم يكن موجودا، انقر بزر الماوس الأيمن على المساحة الفارغة في النافذة اليمنى، حدد New > DWORD (32-bit) Value و أسميه MaxXMLNestingDepth.
  5. انقر مرتين MaxXMLNestingDepth ، تغيير Base إلى Decimal ، وضعت Value data إلى 30 (أو أعلى، حتى 64 ), ثم انقر OK.

الخطوة 5: إعادة تشغيل خدمة WinRM

لتطبيق التغييرات، يجب عليك إعادة تشغيل خدمة إدارة ويندوز عن بعد. قم بتشغيل هذه الأوامر في نافذة PowerShell الإدارية:

Stop-Service winrm
Start-Service winrm

بدلاً من ذلك، يمكنك استخدام صياغة عبارة التعليمات البرمجية القياسية:

net stop winrm
net start winrm

الخطوة السادسة: التحقق من القرار

قم بإعادة تشغيل التطبيق أو البرنامج النصي أو أداة المراقبة التي أثارت الخطأ في الأصل. يجب الآن أن يتم تسلسل كائن WMI بنجاح من خلال WinRM دون الوصول إلى عنق الزجاج التعشيش.

ERROR_WSMAN_INVALID_SUBSCRIPTION_MANAGER | ERROR_WSMAN_NON_PULL_SUBSCRIPTION_NOT_SUPPORTED | ERROR_WSMAN_REMOTE_CIMPATH_NOT_SUPPORTED | ERROR_WSMAN_WMI_PROVIDER_NOT_CAPABLE | ERROR_WSMAN_WMI_INVALID_VALUE

قد يكون هناك بعض الأخطاء. Learn Microsoft