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

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

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

كيفية إصلاح "لا يمكن لعميل WinRM معالجة الطلب. يجب ألا يحتوي URI الموارد لعملية فرز مع مرشح WQL على مفاتيح ويجب أن يكون اسم الفئة '*' (نجمة)".

وفقًا لمعيار WS-Management الذي نفذته WinRM ، عندما تقوم بإجراء إحصاء باستخدام فلتر استفسار WQL ، يجب أن يستهدف URI الموارد إطار الفئة الأساسية بشكل واسع بدلاً من مثال محدد أو اسم فئة محدد مع مفاتيح محددة. يتطلب WinRM بشكل صارم أنه لعمليات فلتر WQL ، يجب أن يستخدم URI الموارد نجمة ( * إذا كان البرنامج النصي أو الأوامر أو البرمجيات الإدارية الخاصة بك تقوم بإنشاء URI التي تسمي بشكل صريح فئة أو تحدد منتخبات الحالة أثناء تمرير WQL في نفس الوقت __Filter ، عميل WinRM يمنع الطلب ويرمي هذا الخطأ.


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

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

إصلاح 1: تصحيح تركيبة الأوامر في winrm المنفعة

إذا كنت تستخدم أداة سطر الأوامر winrm.cmd لتحديد الموارد، تأكد من -filter يتم إقران المفتاح مع URI الموارد التي تنتهي بنجمة ( * ) ولا تحتوي على أي مفاتيح.

  1. افتح Command Prompt أو PowerShell كمدير
  2. راجع أمرك الأصلي، ربما يبدو غير صحيح هكذا: winrm enumerate wmicimv2/Win32_Service?Name=wuauserv -filter:"Select * from Win32_Service Where State='Running'"
  3. تغيير جزء URI الموارد لاستخدام النجمة ( * ) و إزالة خيار المفتاح ( ?Name=wuauserv قم بتعديل الأمر لتتناسب مع هذا الهيكل:
    winrm enumerate wmicimv2/* -filter:"Select * from Win32_Service Where State='Running'"
  4. اضغط Enter لتشغيل الأمر المصحح

إصلاح 2: تعديل Cmdlets باستخدام PowerShell ( Get-WSManInstance / Enumerate)

إذا كنت تستخدم PowerShell WSMan cmdlets الأصلية، يجب عليك التأكد من -ResourceURI تشير المعلمة إلى بطاقة النمط الفريد بدلاً من فئة CIM محددة أو مفتاح مثيل.

  1. افتح PowerShell.
  2. إذا كانت شفرة الفشل تبدو هكذا:
    Get-WSManInstance -ResourceURI "wmicimv2/Win32_Process" -Filter "Select * From Win32_Process Where Name='notepad.exe'"
  3. تحديث -ResourceURI الحجة للنهاية /* حتى يتمكن محرك WQL من معالجة تصفية الفئات داخلياً:
    Get-WSManInstance -ResourceURI "wmicimv2/*" -Filter "Select * From Win32_Process Where Name='notepad.exe'"
  4. قم بتنفيذ النص المحدث

إصلاح 3: استخدام Cmdlets البديل PowerShell (الموصى به)

إذا كان هدفك هو ببساطة استفسار بيانات WMI / CIM عن بعد عبر بروتوكول WinRM ، فمن الأسهل بكثير وأقل عرضة للخطأ استخدام CIM cmdlets بدلاً من أوامر بلوك WSMan الخام. تتعامل CIM cmdlets تلقائيًا مع تنسيق URI وراء الكواليس.

  1. افتح PowerShell.
  2. استبدل أمر إحصاء WSMan المعقد بـ Get-CimInstance cmdlet، الذي يعمل على WinRM افتراضيًا:
    Get-CimInstance -ClassName Win32_Service -Filter "State='Running'" -ComputerName "RemoteComputerName"
  3. إذا كنت بحاجة صريحة لاستخدام استفسار WQL كامل، استخدم -Query المعلم بدلاً من ذلك:
    Get-CimInstance -Query "Select * from Win32_Service where State='Running'" -ComputerName "RemoteComputerName"
  4. قم بتشغيل الأمر للحصول على البيانات دون تشغيل قيود نحوية WinRM.
ERROR_WSMAN_CANNOT_DECRYPT | ERROR_WSMAN_INVALID_URI_WMI_SINGLETON | ERROR_WSMAN_NO_IDENTIFY_FOR_LOCAL_SESSION | ERROR_WSMAN_NO_PUSH_SUBSCRIPTION_FOR_LOCAL_SESSION | ERROR_WSMAN_INVALID_SUBSCRIPTION_MANAGER

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