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

Fehlerbehebung von Windows: WinRM Shell Client Parameter Null oder Null

Beschreibung des Fehlers

Dieser Fehler tritt auf, wenn Sie das Tool Windows Remote Management (WinRM) verwenden, um Befehle auf einem Remote-System über Windows Remote Shell auszuführen ( winrs Die spezifische Botschaft The WinRM Shell client cannot process the request. One of the parameters required for the WinrsCloseShell function is null or zero indicates a protocol mismatch, unexpected connection termination, or session corruption.

Es tritt typischerweise auf, wenn der Remote-Host den Befehlsausführungskontext unerwartet beendet oder wenn die Kommunikation durch ein Netzwerkgerät, eine Firewall oder eine Sicherheitssoftware in der Mitte der Sitzung blockiert wird. Es kann auch durch eine veraltete WinRM-Konfiguration, beschädigte Shell-Sitzungen auf dem Zielserver oder strenge Gruppenrichtlinien verursacht werden, die aggressive Verbindungs-Timeouts durchsetzen.


Schrittweise Lösungen

Folgen Sie diesen Schritten, um das Problem zu beheben. Möglicherweise benötigen Sie Administratorrechte sowohl für den lokalen Rechner als auch für den entfernten Zielrechner.

Schritt 1: Wiederaufnahme des WinRM-Dienstes auf beiden Maschinen

Ein beschädigter Speicherzustand oder eine hängende Sitzung kann diesen Fehler verursachen. Der Neustart des Windows-Fernverwaltungsdienstes löscht vorhandene Sitzungen.

  1. Drücken Sie die... Windows Key + X und wählen Terminal (Admin) oder... Command Prompt (Admin).
  2. Geben Sie den folgenden Befehl ein, um den Dienst zu beenden:
    net stop winrm
  3. Geben Sie den folgenden Befehl ein, um den Dienst neu zu starten:
    net start winrm
  4. Führen Sie diese Schritte sowohl auf Ihrem lokalen Computer als auch auf dem Remote-Server aus, mit dem Sie eine Verbindung herstellen möchten.

Schritt 2: Erhöhen Sie WinRM Max-Shells und Max-Speicher pro Shell

Der Fehler kann auftreten, wenn Ihre Sitzung die maximal zugewiesenen Ressourcenlimits auf dem Remote-Server erreicht, was den Server zwingt, die Shell unerwartet zu schließen.

  1. Öffnen Sie PowerShell oder die Eingabeaufforderung als Administrator Auf dem... remote machine.
  2. Führen Sie den folgenden Befehl aus, um die aktuellen Konfigurationsgrenzen zu überprüfen:
    winrm get winrm/config/winrs
  3. Erhöhen Sie den maximal zulässigen Speicher pro Shell auf 2048 MB, indem Sie:
    winrm set winrm/config/winrs @{MaxMemoryPerShellMB="2048"}
  4. Erhöhen Sie die maximale Anzahl gleichzeitiger Shell pro Benutzer auf 30 durch Ausführen:
    winrm set winrm/config/winrs @{MaxShellsPerUser="30"}
  5. Der WinRM-Dienst wird mit den Anweisungen aus Schritt 1 neu gestartet, um Änderungen anzuwenden.

Schritt 3: Überprüfung und Neuregistrierung von WinRM-Dienstkomponenten

Fehlende Infrastrukturkonfigurationen oder Hörer-Korruptionen können Parameter mitten in der Sitzung fallen lassen.

  1. Öffnen Sie PowerShell als Administrator Auf dem... remote server.
  2. Führen Sie den Befehl " Selbsterholung " aus:
    winrm quickconfig
  3. If the service is already configured, it will analyze your environment. If it asks you to make changes or open firewall exceptions, type y und drücken. Enter.

Schritt 4: Anpassen von Netzwerk-Timeouts und Live-Einstellungen

Wenn eine Firewall oder ein physischer Last-Balancer leere Verbindungen fallen lässt, wird der WinRM-Client versuchen, eine Shell zu schließen, die auf dem Server nicht mehr existiert, was zu einem Nullparameterfehler führt.

  1. Öffnen Sie PowerShell als Administrator Auf deinen... local machine.
  2. Führen Sie diesen Befehl aus, um die Timeout-Werte Ihres Clients zu überprüfen:
    winrm get winrm/config/client
  3. Erhöhen Sie die Betriebszeitgrenze auf 5 Minuten (300.000 Millisekunden), um vorzeitige Trennungen zu verhindern:
    winrm set winrm/config/client @{Timeout="300000"}

Schritt 5: Überprüfen Sie die Kompatibilität von Windows Update und PowerShell-Version

A known protocol bug in older versions of the Windows Management Framework (WMF) can trigger this specific WinrsCloseShell Fehler bei der Kommunikation zwischen verschiedenen Windows Server-Versionen.

  1. Überprüfen Sie Ihre PowerShell-Version auf beiden Maschinen, indem Sie:
    $PSVersionTable.PSVersion
  2. Wenn auf Ihrem Remotecomputer Windows Server 2012 oder Windows Server 2016 mit einer veralteten Version von WMF 5.1 ausgeführt wird, navigieren Sie zu Windows Update.
  3. Installieren Sie alle laufenden kumulativen Qualitätsupdates auf beiden Maschinen, um die zugrunde liegenden WinRM-Engine-Binärdateien zu patchen.
ERROR_WINRS_RECEIVE_NO_RESPONSE_DATA | ERROR_WINRS_CLIENT_CREATESHELL_NULL_PARAM | ERROR_WINRS_CLIENT_FREECREATESHELLRESULT_NULL_PARAM | ERROR_WINRS_CLIENT_RUNCOMMAND_NULL_PARAM | ERROR_WINRS_CLIENT_FREERUNCOMMANDRESULT_NULL_PARAM

Es kann einige Fehler geben.. Learn Microsoft