🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
Wir haben keine DLL, aber wir haben:
Windows-Dateianalysator und Online-schneller Antivirus

Eine minimalistische Benutzeroberfläche mit schneller Suche, bequemem Hochladen und einer sauberen Abteilungsstruktur.

🛡️🔍 Überprüfen Sie Ihre Datei schnell, klicken Sie einfach auf diese Seite.
Virus-Check, Hashes, Signalüberprüfung, Architektur, KI-Informationen.

Windows-Fehler: Der WinRM Shell-Client kann die Anfrage nicht verarbeiten

Fehlerbeschreibung

Dieser Fehler tritt typischerweise bei Remote-Management-Aufgaben mit Windows Remote Management (WinRM) oder... PowerShell Remoting. Es zeigt an, dass die Verbindungssitzung (Shell-Handling) zwischen Ihrem lokalen Computer und dem Remote-Server unter der Betriebszeit kaputt, desynchronisiert oder beschädigt wurde.

Zu den häufigsten Ursachen gehören:


Schrittweise Lösungen

Folgen Sie diesen Lösungsansätzen, um das Problem zu lösen.

Korrektur 1: Wiederaufnehmen des WinRM-Dienstes

Das Aktualisieren des WinRM-Dienstes sowohl auf dem lokalen als auch auf dem Remote-Rechner löscht normalerweise ungültige Griffe.

  1. Mach auf. Start Menu Suchen Sie. cmd, klicken Sie mit der rechten Maustaste darauf und wählen Sie Run as administrator.
  2. Geben Sie den folgenden Befehl ein, um den Dienst zu stoppen und drücken Sie Enter:
    net stop winrm
  3. Geben Sie den folgenden Befehl ein, um den Dienst neu zu starten, und drücken Sie Enter:
    net start winrm

Korrektur 2: Maximale Anzahl von Shell pro Benutzer erhöhen

Wenn Sie komplexe Skripte ausführen, erreichen Sie möglicherweise die Standardgrenze für gleichzeitige Remote-Shells. Sie können diesen Wert auf dem Remote-Server erhöhen.

  1. Öffnen. PowerShell as an Administrator auf dem Zielgerät.
  2. Führen Sie diesen Befehl aus, um Ihre aktuellen Grenzwerte zu überprüfen:
    Get-Item WSMan:\localhost\Shell\MaxShellsPerUser
  3. Erhöhen Sie den Grenzwert (z. B. auf 50), indem Sie:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 50

Behebung 3: Wiederherstellung der PowerShell-Sitzung

Wenn dieser Fehler in einem langlaufenden PowerShell-Skript angezeigt wird, ist das vorhandene Session-Objekt tot. Sie müssen die kaputte Session explizit schließen und eine neue erstellen.

  1. Suchen Sie nach Ihrer Session-Variable in Ihrem Skript (in der Regel mit dem Namen so etwas wie $session ) ist.
  2. Fügen Sie Code hinzu, um die kaputte Sitzung sicher zu entfernen:
    Remove-PSSession $session -ErrorAction SilentlyContinue
  3. Erstellen Sie eine neue Sitzung, bevor Sie Ihren nächsten Befehl ausführen:
    $session = New-PSSession -ComputerName "RemoteComputerName"
    Invoke-Command -Session $session -ScriptBlock { YourCommand }

Korrektur 4: MaxMemoryPerShellMB-Einstellungen anpassen

Eine geringe Speicherzuweisung auf der Remote-Maschine kann den WSMan-Shell-Host-Worker-Prozess abstürzen, was zu einem ungültigen Handle führt.

  1. Öffnen. PowerShell as an Administrator auf der Fernbedienung.
  2. Überprüfen Sie das aktuelle Speicherlimit pro Shell:
    Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB
  3. Erhöhen Sie die Speichergrenze auf 2048 MB (2 GB), um sicherzustellen, dass die Speicherbereitschaft der Skripte nicht ausgeht:
    Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048
  4. Wiederaufsetzen des WinRM-Dienstes, um Änderungen anzuwenden:
    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

Es kann einige Fehler geben.. Learn Microsoft