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

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

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

خطأ في ويندوز: لا يمكن لعميل WinRM Shell معالجة الطلب

وصف الخطأ

This error occurs when the Windows Remote Management (WinRM) service loses track of the unique identifier (shell handle) assigned to your remote session. It signifies a communication breakdown between your local machine and the remote server.

الأسباب الشائعة


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

إصلاح 1: إعادة تشغيل خدمة WinRM

تحديث خدمة WinRM على كل من الأجهزة المحلية والبعيدة يعيد إنشاء إطار الاتصال.

  1. افتح الباب Start Menu.
  2. النوع cmd أو PowerShell.
  3. انقر بزر الماوس الأيمن على التطبيق واختر Run as administrator.
  4. النوع net stop winrm و اضغط Enter.
  5. انتظر حتى تتوقف الخدمة بالكامل
  6. النوع net start winrm و اضغط Enter.

إصلاح 2: زيادة الحد الأقصى للقذائف لكل مستخدم

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

  1. افتح PowerShell كمسؤول على الخادم البعيد
  2. تحقق من الحد الحالي من خلال تشغيل:
    Get-Item WSMan:\localhost\Shell\MaxShellsPerUser
  3. زيادة الحد إلى 50 من خلال تشغيل:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 50
  4. إعادة تشغيل خدمة WinRM باستخدام الأوامر من Fix 1 لتطبيق التغييرات.

إصلاح 3: تعديل خصائص الإيقاف الفارغ

منع الخادم من إغلاق عقدة القشرة قبل الأوان خلال فترات عدم النشاط.

  1. افتح PowerShell كمسؤول على الخادم البعيد
  2. تحقق من إعداد وقت التوقف الحالي من خلال تشغيل:
    Get-Item WSMan:\localhost\Shell\IdleTimeout
  3. قم بتعيين قيمة وقت الاستراحة العاطلة إلى عتبة أعلى (القيمة بالميلي ثانية، 7200000 تساوي ساعتين):
    Set-Item WSMan:\localhost\Shell\IdleTimeout 7200000
  4. أغلق و أعد فتح وحدة التحكم عن بعد

إصلاح 4: إعادة الاتصال وإعادة تعيين متغير الجلسة الخاص بك

إذا كنت تقوم بتشغيل النصوص عن طريق متغير جلسة مخزن (مثل $Session يجب عليك مسحها وإعادة بناؤها.

  1. إزالة متغير الجلسة المكسور في النص الخاص بك أو وحدة التحكم:
    Remove-PSSession $Session
  2. إعادة إنشاء الجلسة للحصول على عقدة قذيفة جديدة تماماً:
    $Session = New-PSSession -ComputerName "RemoteServerName"
  3. إدخال الجلسة الجديدة أو تشغيل الأوامر مرة أخرى:
    Enter-PSSession $Session
ERROR_WSMAN_SHELL_ALREADY_CLOSED | ERROR_WSMAN_CREATESHELL_NULL_STREAMID | ERROR_WSMAN_SHELL_INVALID_COMMAND_HANDLE | ERROR_WSMAN_RUNSHELLCOMMAND_NULL_ARGUMENT | ERROR_WSMAN_COMMAND_ALREADY_CLOSED

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