إصلاح خطأ ويندوز: WinRM WSManEnumeratorAddObject Null Parameter
وصف الخطأ
يحدث هذا الخطأ عندما يحاول عميل Windows Remote Management (WinRM) إحصاء الكائنات ، ولكن هيكل البيانات الذي أعاده الخادم البعيد أو المزود المحلي فاسد أو غير متوقع أو باطل تمامًا. يتوقع WinRM كائنًا صالحًا عندما يتم تعيين وضع الإحصاء لإرجاع تفاصيل الكائن ( Object أو ObjectAndEPR )
من بين الأسباب الشائعة:
- Corrupted WMI Repository: تعتمد WinRM بشكل كبير على بنية تحتية أدوات إدارة ويندوز (WMI). إذا كانت WMI تالفة ، فإنها تمر بيانات صفرية إلى WinRM.
- Corrupted WinRM Configuration: أصوات WinRM المتضررة أو تكوينات WSMan الداخلية المتضررة.
- Incompatible PowerShell modules or broad queries: نص أو أداة إدارة تستفسر من البنية التحتية الواسعة التي تؤدي إلى حالة حافة غير معالجة أو تعيد الحمولات الفارغة حيث تتوقع البيانات.
إصلاحات خطوة بخطوة
اتبع هذه الحلول بالترتيب حتى يتم حل الخطأ.
الحل 1: إعادة تشغيل و إعادة تعيين خدمة WinRM
أسرع حل هو إعادة تشغيل خدمة WinRM وإعادة بناء تكوينها لإزالة أي كائنات ذاكرة عالقة أو فاسدة.
- افتح قائمة البدء، اكتب cmd ، انقر على Command Prompt ، وتحديد Run as administrator.
- أوقف خدمة WinRM عن طريق كتابة الأمر التالي والضغط Enter:
net stop winrm - إعادة تشغيل خدمة WinRM:
net start winrm - قم بإعادة تكوين WinRM إلى إعداداته الافتراضية عن طريق تشغيل:
winrm quickconfig -q - تحقق ما إذا كان الخطأ لا يزال يحدث.
الحل 2: التحقق وإصلاح مستودع WMI
نظرًا لأن WinRM يحصل على خصائص الكائن مباشرةً من WMI ، فإن مستودع WMI الفاسد غالباً ما يسبب خطأ مؤشر صفر.
- افتح Command Prompt as administrator.
- تحقق من اتساق مستودع WMI الخاص بك عن طريق تشغيل:
winmgmt /verifyrepository - إذا كان الخروج يقول "المخزن غير متسق" ، قم بتشغيل الأمر التالي لإصلاحه:
winmgmt /salvagerepository - If salvaging fails, force a complete rebuild of the WMI repository with these commands (press Enter بعد كل سطر:
net stop winmgmt /y winmgmt /resetrepository net start winmgmt - قم بإعادة تشغيل الكمبيوتر واختبر اتصال WinRM مرة أخرى
الحل 3: إعادة تسجيل مكونات WMI وملفات DLL
إذا لم تتمكن مكونات ويندوز الأساسية من تسلسل بيانات WinRM بشكل صحيح ، فإن إعادة تسجيل مكتبات إدارة نظام التشغيل ستصلح ذلك.
- افتح Command Prompt as administrator.
- قم بتشغيل الأمر التالي لإعادة تسجيل جميع WMI
.mofالملفات:CD C:\Windows\System32\Wbem for /f %s in ('dir /b *.mof') do mofcomp %s - بعد ذلك، إعادة تسجيل ملفات DLL عن طريق تشغيل:
for /f %s in ('dir /b *.dll') do regsvr32 /s %s - إعادة تشغيل جهاز الكمبيوتر الخاص بك.
الحل 4: تنظيف WSMan Provider باستخدام PowerShell
إذا كنت تقوم بتشغيل نصوص نصية محددة أو تستخدم أدوات مثل مدير تكوين مركز النظام (SCCM) أو مدير Hyper-V ، قم بإزالة مسار مزود WSMan المؤخّر.
- افتح قائمة البدء، ابحث عن PowerShell ، انقر بزر الماوس الأيمن عليه، واختيار Run as administrator.
- انتقل إلى محرك أقراص مزود WSMan للتحقق من التكوين:
cd WSMan:\localhost dir - إذا لاحظت المستمعين الميتين أو النقاط النهائية القديمة، قم بإزالتها باستخدام أمر إزالة العنصر:
Remove-Item .\Listener\* -Recurse - أركض
winrm quickconfigمرة أخرى لإعادة بناء المستمعين النظيفين.
ERROR_WSMAN_CANNOT_PROCESS_FILTER | ERROR_WSMAN_CLIENT_ENUMERATORADDEVENT_NULL_PARAM | ERROR_WSMAN_ADDOBJECT_MISSING_EPR | ERROR_WSMAN_NETWORK_TIMEDOUT | ERROR_WINRS_RECEIVE_IN_PROGRESS
قد يكون هناك بعض الأخطاء. Learn Microsoft