🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
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

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.

Häufige Ursachen


Schrittweise Lösungen

Korrektur 1: Wiederaufnehmen des WinRM-Dienstes

Durch die Aktualisierung des WinRM-Dienstes sowohl auf den lokalen als auch auf den Remote-Maschinen wird das Verbindungsframework wiederhergestellt.

  1. Mach auf. Start Menu.
  2. Typ cmd oder... PowerShell.
  3. Klicken Sie mit der rechten Maustaste auf die Anwendung und wählen Sie Run as administrator.
  4. Typ net stop winrm und drücken. Enter.
  5. Warten Sie, bis der Service komplett aufhört.
  6. Typ net start winrm und drücken. Enter.

Korrektur 2: Erhöhen Sie die maximale Anzahl von Shell pro Benutzer

Wenn der Remote-Server Ihren Handler abschaltet, weil ihm die Ressourcen ausgehen, löst die Erhöhung des Shell-Zuteilungslimits das Problem.

  1. Öffnen. PowerShell als Administrator auf dem Remote-Server.
  2. Überprüfen Sie das aktuelle Limit durch Ausführen:
    Get-Item WSMan:\localhost\Shell\MaxShellsPerUser
  3. Erhöhen Sie die Grenze auf 50, indem Sie laufen:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 50
  4. Starten Sie den WinRM-Dienst mit den Befehlen von Fix 1 Änderungen anzuwenden.

Korrektur 3: Einstellen der Eigenschaften der Leerlaufzeit

Verhindern Sie, dass der Server den Shell-Handler während der Inaktivität vorzeitig schließt.

  1. Öffnen. PowerShell als Administrator auf dem Remote-Server.
  2. Überprüfen Sie Ihre aktuelle Leerlaufzeit-Einstellung, indem Sie laufen:
    Get-Item WSMan:\localhost\Shell\IdleTimeout
  3. Setzen Sie den Leerlaufwert auf einen höheren Schwellenwert (Wert in Millisekunden, 7200000 entspricht 2 Stunden):
    Set-Item WSMan:\localhost\Shell\IdleTimeout 7200000
  4. Schließen und wieder öffnen Sie Ihre Fernsteuerungskonsole.

Korrektur 4: Wiederverbindung und Zurücksetzen der Sitzungsvariable

Wenn Sie Skripte über eine gespeicherte Sitzungsvariable ausführen (z. B. $Session ), wird die Variable beschädigt, wenn der Griff ungültig wird. Sie müssen sie löschen und neu erstellen.

  1. Entfernen Sie die kaputte Sitzungsvariable in Ihrem Skript oder Ihrer Konsole:
    Remove-PSSession $Session
  2. Die Sitzung neu erstellen, um einen komplett neuen Shell-Handling zu erhalten:
    $Session = New-PSSession -ComputerName "RemoteServerName"
  3. Geben Sie die neue Sitzung ein oder führen Sie Ihre Befehle erneut aus:
    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

Es kann einige Fehler geben.. Learn Microsoft