🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
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 WinRM-Fehler: WSManSendShellInput-Parameter ist Null oder Null

Beschreibung

Dieser Fehler tritt typischerweise während Remote-PowerShell-Management-Sitzungen (WinRM) auf, wenn es eine Mismatch, Korruption oder Konfigurationsdrift zwischen dem Client-Computer und dem Remote-Host gibt. WSManSendShellInput ) fehlte, beschädigt oder auf Null geschätzt wurde.

Zu den häufigsten Ursachen gehören:


Schrittweise Lösungen

Folgen Sie diesen Lösungen aufeinanderfolgend vom Client-Rechner (und gegebenenfalls vom Host-Rechner) aus, um das Problem zu beheben.

Lösung 1: Neustart und Reset des WinRM-Dienstes

Ein beschädigter Laufzeitzustand im WinRM-Dienst kann dazu führen, dass die API-Parameter nicht funktionieren. Durch Neustart und Registrierung der Service-Standardeinstellungen wird dieser Fehler oft behoben.

  1. Öffnen Sie das Startmenü und tippen Sie cmd, mit der rechten Maustaste auf Command Prompt, und wählen Run as administrator.
  2. Der WinRM-Dienst wird durch Ausführen des folgenden Befehls gestoppt:
    net stop winrm
  3. Starten Sie den WinRM-Dienst wieder auf:
    net start winrm
  4. Führen Sie das schnelle Konfigurationswerkzeug aus, um alle defekten Standardparameter, Zuhörer oder Firewall-Ausnahmen zu reparieren:
    winrm quickconfig
  5. Typ y (Ja), wenn Sie aufgefordert werden, Änderungen vorzunehmen oder einen neuen WinRM-Luschter zu erstellen.

Lösung 2: Grenzen für MaxShellsPerUser und MaxMemoryPerShellMB löschen

If the remote shell process hits an allocation limit, it may fail to populate the parameters required by the WSManSendShellInput Funktion.

  1. Starten. PowerShell as an Administrator sowohl auf dem Client als auch auf dem Remote-Rechner (falls zugänglich).
  2. Überprüfen Sie die vorhandenen Konfigurationsparameter durch Ausführen:
    Get-Item WSMan:\localhost\Shell\*
  3. Erhöhen Sie die Speichergrenze pro Shell, um sicherzustellen, dass komplexe Objekte nicht in Nullobjekte abgeschnitten werden:
    Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048
  4. Erhöhen Sie die zulässigen Shell pro Benutzer, um gleichzeitige Sitzungskonflikte zu vermeiden:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 30
  5. Starten Sie den WinRM-Dienst neu, um diese Änderungen sofort anzuwenden:
    Restart-Service winrm

Lösung 3: Rekonstruieren Sie die WinRM-Lustern

Wenn die Standardhörer beschädigte Eigenschaften haben, müssen Sie sie vollständig löschen und neu erstellen, um sicherzustellen, dass die API-Parameter den nativen Systemspezifikationen entsprechen.

  1. Öffnen. Command Prompt as an administrator.
  2. Sehen Sie Ihre aktuell aktiven WinRM-Zuhörer an:
    winrm enumerate winrm/config/listener
  3. Löschen Sie die fehlerhaften Zuhörer vollständig mit diesem Befehl:
    winrm delete winrm/config/listener?Address=*+Transport=HTTP

    (Hinweis: Ändern Sie HTTP in HTTPS, wenn Ihre Netzwerkinfrastruktur WinRM über SSL verwendet).

  4. Wiederherstellen der Zuhörerinfrastruktur aus sauberen Systemvorlagen:
    winrm quickconfig

Lösung 4: Beheben von Umgebungsvariablen und Systempfad

The WinRM sub-system relies heavily on underlying system environment variables to process structural payload schemas. Missing entries like %SystemRoot% kann zu Nullparametern führen.

  1. Drücken Sie die... Windows Key + R, Typ sysdm.cpl, und schlagen. Enter um Systemeigenschaften zu öffnen.
  2. Navigieren Sie zur... Advanced Tab und klicken Sie auf die Environment Variables Schaltfläche unten.
  3. Unter dem... System variables Abschnitt, finden Sie die Variable namens Path und klicken Edit.
  4. Ensure that the following default Windows paths are explicitly listed. If they are missing, click New Sie sind folgendermaßen hinzuzufügen:
    • C:\Windows\system32
    • C:\Windows
    • C:\Windows\System32\Wbem
    • C:\Windows\System32\WindowsPowerShell\v1.0\
  5. Klicken OK Auf allen Fenstern, um die Änderungen zu speichern, und starten Sie dann Ihren Computer neu.

Lösung 5: SSL- oder Netzwerkinspektion vorübergehend umgehen

Sicherheitsanwendungen oder Hardware-Lastbalancer können benutzerdefinierte Header entfernen, wodurch WSMan-API-Argumente am Endpunkt leer ankommen.

  1. Wenn Sie einen Proxy-Server verwenden, umgehen Sie ihn vorübergehend für lokale Routing-Adressen, indem Sie dies in einem erhöhten PowerShell-Fenster ausführen:
    $env:no_proxy="localhost,127.0.0.1,your-remote-host-ip"
  2. Wenn das Problem auf einem bestimmten vertrauenswürdigen Zielgerät isoliert ist, fügen Sie es direkt zu Ihrer Client-Liste TrustedHosts hinzu, um Handshake-Filterung zu eliminieren:
    Set-Item WSMan:\localhost\Client\TrustedHosts -Value "your-remote-host-name-or-IP" -Force
  3. Testen Sie Ihre Remote-Shell-Verbindungssequenz nochmal.

Um das Problem näher zu identifizieren, könnten Sie ein paar weitere Details angeben:

ERROR_WINRS_CLIENT_PULL_NULL_PARAM | ERROR_WINRS_CLIENT_CLOSERECEIVEHANDLE_NULL_PARAM | ERROR_WINRS_CLIENT_PUSH_NULL_PARAM | ERROR_WINRS_CLIENT_CLOSESENDHANDLE_NULL_PARAM | ERROR_WINRS_CLIENT_GET_NULL_PARAM

Es kann einige Fehler geben.. Learn Microsoft