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

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

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

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

وصف الخطأ

يحدث هذا الخطأ عادة أثناء مهام الإدارة عن بعد باستخدام Windows Remote Management (WinRM) أو PowerShell Remoting يشير إلى أن جلسة الاتصال (مقبض القشرة) بين جهاز الكمبيوتر المحلي والخادم البعيد أصبحت معطلة أو غير متزامنة أو تالفة في منتصف العملية.

من بين الأسباب الشائعة:


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

اتبع هذه الحلول لحل المشكلة.

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

عادة ما يزيل تحديث خدمة WinRM على كل من الآلة المحلية والآلة البعيدة المقبضات غير صالحة.

  1. افتح الباب Start Menu أبحث عن cmd ، انقر بزر الماوس الأيمن عليه، واختيار Run as administrator.
  2. اكتب الأمر التالي لإيقاف الخدمة واضغط Enter:
    net stop winrm
  3. اكتب الأمر التالي لبدء الخدمة من جديد واضغط Enter:
    net start winrm

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

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

  1. افتح PowerShell as an Administrator على آلة الوجهة
  2. قم بتشغيل هذه الأوامر للتحقق من حدودك الحالية:
    Get-Item WSMan:\localhost\Shell\MaxShellsPerUser
  3. زيادة الحد (على سبيل المثال، وضعه إلى 50) عن طريق تشغيل:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 50

إصلاح 3: إعادة إنشاء جلسة PowerShell

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

  1. ابحث عن متغير الجلسة الخاص بك في النص الخاص بك (عادة ما يطلق عليه اسم مثل $session )
  2. إضافة رمز لإزالة الجلسة المكسورة بأمان:
    Remove-PSSession $session -ErrorAction SilentlyContinue
  3. قم بإنشاء جلسة جديدة قبل تشغيل الأمر التالي:
    $session = New-PSSession -ComputerName "RemoteComputerName"
    Invoke-Command -Session $session -ScriptBlock { YourCommand }

إصلاح 4: تعديل إعدادات MaxMemoryPerShellMB

يمكن أن يؤدي تخصيص الذاكرة المنخفض على الآلة البعيدة إلى تحطم عملية عامل مضيف WSMan ، مما يؤدي إلى معالجة غير صالحة.

  1. افتح PowerShell as an Administrator على جهاز التحكم عن بعد
  2. تحقق من الحد الحالي للذاكرة لكل قذيفة:
    Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB
  3. زيادة حد الذاكرة إلى 2048 ميغابايت (2 غيغابايت) لضمان عدم نفاد الذاكرة للبرامج النصية:
    Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048
  4. إعادة تشغيل خدمة WinRM لتطبيق التغييرات:
    Restart-Service winrm
ERROR_WSMAN_CREATESHELL_NULL_STREAMID | ERROR_WSMAN_SHELL_INVALID_SHELL_HANDLE | ERROR_WSMAN_RUNSHELLCOMMAND_NULL_ARGUMENT | ERROR_WSMAN_COMMAND_ALREADY_CLOSED | ERROR_WSMAN_SENDSHELLINPUT_INVALID_STREAMID_INDEX

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