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

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

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

إصلاح WinRM HTTP 400 خطأ طلب سيء

يقوم عميل WinRM (Windows Remote Management) بإلقاء خطأ HTTP 400 Bad Request عندما يحاول إنشاء اتصال عن بُعد ، ولكن الخادم المستهدف يرفض تنسيق أو حجم أو رؤوس الطلب الوارد. نظرًا لأن الخدمة البعيدة لا تقدم تفاصيل إضافية ، فإن هذا الخطأ ينبع عادةً من عدم تطابق التكوين المحلي أو مستمعين WinRM فاسدين أو مشاكل SPN (اسم رئيس الخدمة) أو رموز مصادقة Kerberos ذات الحجم الكبير.

هنا دليل خطوة بخطوة لتشخيص وحل هذه المشكلة.


الخطوة الأولى: قم بتشغيل أداة تكوين WinRM السريعة

أسرع طريقة لإصلاح المستمعين المتضررين أو مشاكل تكوين الخدمة الأساسية هي السماح لويندوز بإصلاح إعداد WinRM تلقائيًا.

  1. اضغط على Start قائمة، نوع cmd انقر على الزر الأيمن Command Prompt ، وتحديد Run as administrator.
  2. اكتب الأوامر التالية واضغط Enter:
    winrm quickconfig
  3. إذا طُلب منك إجراء تغييرات أو تكوين استثناءات جدار الحماية، اكتب y و اضغط Enter.

الخطوة 2: مسح قائمة WinRM Client WinRM TrustedHosts

تم تكوينها بشكل غير صحيح TrustedHosts يمكن أن يسبب إعادة تعيين أو تكوين هذه القائمة بشكل صحيح يمكن أن يحل انهيار الاتصال.

  1. افتح Command Prompt كمدير
  2. للسماح بالاتصال مع أي مضيف مؤقتاً (لتجربة) ، قم بتشغيل:
    winrm set winrm/config/client @{TrustedHosts="*"}
  3. بدلا من ذلك، إذا كنت ترغب في تقييدها إلى خادم الهدف الخاص بك، استبدال النجمة مع IP خادم الهدف الخاص بك أو اسم المضيف:
    winrm set winrm/config/client @{TrustedHosts="TARGET_SERVER_NAME"}

الخطوة الثالثة: إعادة إنشاء WinRM HTTP/HTTPS Listeners

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

  1. افتح Command Prompt كمدير على target machine.
  2. تحقق من المستمعين الحاليين بتشغيل:
    winrm enumerate winrm/config/listener
  3. حذف مستمع HTTP المكسور:
    winrm delete winrm/config/listener?Address=*+Transport=HTTP
  4. إنشاء مستمع HTTP نظيف:
    winrm create winrm/config/listener?Address=*+Transport=HTTP
  5. إعادة تشغيل خدمة WinRM لتطبيق التغييرات:
    net stop winrm && net start winrm

الخطوة الرابعة: ضبط MaxTokenSize لمصادقة كيربيروس

إذا كنت تتصل عن طريق بيئة النطاق وحساب المستخدم الخاص بك ينتمي إلى العديد من مجموعات Active Directory ، فقد يكون رمز مصادقة Kerberos الخاص بك كبيرًا جدًا. وهذا يسبب رفض خادم WinRM HTTP للحزمة باعتبارها "طلبًا سيئًا".

  1. اضغط Win + R ، نوع regedit و اضغط Enter لفتح محرر السجل
  2. انتقل إلى المسار التالي: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters (ملاحظة: إذا Parameters المفتاح غير موجود، انقر بزر الماوس الأيمن Kerberos, select New > Key, and name it Parameters).
  3. انقر بزر الماوس الأيمن Parameters المفتاح، اختر New > DWORD (32-bit) Value.
  4. أسمي القيمة الجديدة MaxTokenSize.
  5. انقر مرتين MaxTokenSize, ضع القاعدة على Decimal, change the Value data to 65535 و انقر OK.
  6. إعادة تشغيل الكمبيوتر لتطبيق تغييرات السجل

الخطوة الخامسة: زيادة الحجم الأقصى للمغلف

في بعض الأحيان يتجاوز حمولة هيكل البيانات المنقولة عبر WinRM حجم التكوين المسموح به افتراضيًا ، مما يؤدي إلى خطأ HTTP 400 الفوري.

  1. افتح Command Prompt كمدير
  2. قم بتشغيل الأمر التالي لزيادة الحجم الأقصى للغلاف إلى 1500 كيلوبايت:
    winrm set winrm/config @{MaxEnvelopeSizekb="1500"}
  3. جرب الاتصال عن بعد مرة أخرى لمعرفة ما إذا كان الحد من الحمولة المفيدة هو سبب المشكلة.
ERROR_WSMAN_CONFIG_SHELLURI_INVALID_OPERATION_ON_KEY | ERROR_WSMAN_HTTP_STATUS_SERVER_ERROR | ERROR_WSMAN_CONFIG_CANNOT_CHANGE_CERTMAPPING_KEYS | ERROR_WSMAN_HTML_ERROR | ERROR_WSMAN_PLUGIN_CONFIGURATION_CORRUPTED

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