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

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

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

كيفية إصلاح "خدمة WS-Management لا تستطيع معالجة الطلب. يجب ألا تحتوي URI الموارد لعملية Enumerate على مفاتيح".

وصف للخطأ

This error occurs in Windows PowerShell or Windows Remote Management (WinRM) when an Enumerate العملية (مثل Get-WSManInstance أو Get-CimInstance ) يتم تنفيذها مع URI الموارد التي تشمل خطأ مفاتيح مثالية محددة.

في قواعد بروتوكول الإدارة العالمية Enumerate يتم استخدام العملية للإستفسار كل شيء instances or a collection of objects from a specific class provider. Because it is meant to return a list of multiple items, the Resource URI must point generally to the resource type or class container. If you include specific selectors or keys (like a specific IP address, session ID, or service name) inside the URI string during an enumeration request, the WinRM service rejects it because keys are strictly reserved for Get, Put ، أو Delete العمليات التي تستهدف حالة واحدة محددة.


حل سهل خطوة بخطوة

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

طريقة 1: إزالة المفاتيح من URI الموارد (لإدراج عناصر متعددة)

إذا كان هدفك هو إدراج أو إدراج جميع الحالات، تأكد من -ResourceURI توقف السلسلة على مستوى الفئة أو الحاوية.

  1. Locate your current command. من المحتمل أن تبدو مشابهة لهذا المثال الخاطئ:

    Get-WSManInstance -ResourceURI "winrm/config/listener?Address=*+Transport=HTTPS" -Enumerate

    ملاحظة: العنوان= +Transport=HTTPS` الجزء يمثل المفاتيح التي تسبب الفشل.*

  2. Modify the URI to exclude the keys. إزالة كل شيء بداية من علامة الاستفهام ( ? ):

    Get-WSManInstance -ResourceURI "winrm/config/listener" -Enumerate
  3. Run the corrected command. ستقوم خدمة WinRM الآن بمعالجة الإحصاء بنجاح وقائمة جميع المستمعين المتاحين.

طريقة 2: تغيير العملية إلى "حصول" (للاستهداف في عنصر واحد)

If you intentionally included keys because you only want information about one specific configuration instance, you must drop the -Enumerate التبديل واستخدام طريقة الاسترداد القياسية.

  1. Locate your command using the Enumerate switch:

    Get-WSManInstance -ResourceURI "winrm/config/listener?Address=*+Transport=HTTP" -Enumerate
  2. Remove the -Enumerate switch (أو استبدالها باختيارات الحالة المحددة إذا كنت تستخدم CIM / WMI cmdlets) حتى يعرف ويندوز أنك تحصل على كائن واحد:

    Get-WSManInstance -ResourceURI "winrm/config/listener?Address=*+Transport=HTTP"
  3. Execute the command. ستبحث ويندوز عن العنصر الدقيق الذي يطابق مفاتيحك دون تشغيل قيود التعداد.

الطريقة 3: إعادة تشغيل خدمة WinRM (إذا كنت تستخدم أدوات تلقائية)

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

  1. افتح PowerShell كمسؤول (انقر بزر الماوس الأيمن PowerShell -> تشغيل كمسؤول).
  2. اكتب الأمر التالي لإعادة تشغيل الخدمة:
    Restart-Service WinRM -Force
  3. التحقق من حالة الخدمة قيد التشغيل:
    Get-Service WinRM

للمساعدة في تحديد تعديل الجملة الدقيق، هل يمكنك توفير specific PowerShell command أو software tool من فضلك ذكر أيضا إذا كنت تحاول list all items أو target a single configuration entry.

ERROR_WSMAN_WMI_CANNOT_CONNECT_ACCESS_DENIED | ERROR_WSMAN_INVALID_FILTER_XML | ERROR_WSMAN_INVALID_FRAGMENT_PATH_BLANK | ERROR_WSMAN_INVALID_CHARACTERS_IN_RESPONSE | ERROR_WSMAN_KERBEROS_IPADDRESS

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