Behebung von WinRM-Fehler: Ungültiger Stream-ID-Index
Beschreibung des Fehlers
Dieser Fehler tritt während Windows Remote Management (WinRM) Es kommt typischerweise vor, wenn man PowerShell Remoting oder Tools wie Ansible und Jenkins.
The error triggers because the WinRM client and server get out of sync during data transmission. Specifically, the client sends a data packet with a stream ID index Diese Mismatch wird normalerweise durch:
- Corrupted WinRM sessions Hängt im Hintergrund.
- Outdated PowerShell versions zwischen den lokalen und entfernten Maschinen.
- Size limits auf das WinRM-Anforderungspaket überschritten wird.
- Corrupted WinRM configurations auf dem Host-Gerät.
Schrittweise Lösungen
Folgen Sie den folgenden Schritten, um das Problem zu lösen.
Schritt 1: Neustart des WinRM-Dienstes
Die schnellste Lösung ist, die abgehängten Fernsitzungen zu löschen, indem man den Management-Service neu startet.
- Mach auf. Start Menu.
- Typ
cmdMit der rechten Maustaste. Command Prompt, und wählen Run as administrator. - Geben Sie den folgenden Befehl ein und drücken Sie Enter:
net stop winrm - Geben Sie den folgenden Befehl ein und drücken Sie Enter um es neu zu starten:
net start winrm
Schritt 2: Maximale WinRM-Umschlaggröße erhöhen
Wenn Ihre Skripte große Datenblöcke senden, könnte das Paket abgeschnitten und die Stream-ID beschädigt werden.
- Behalte deinen Administrator. Command Prompt Sie ist offen.
- Führen Sie diesen Befehl aus, um Ihre aktuelle Konfiguration zu überprüfen:
winrm get winrm/config - Führen Sie diesen Befehl aus, um die maximale Umschlaggröße auf zu erhöhen. 8192 KB:
winrm set winrm/config @{MaxEnvelopeSizekb="8192"}
Schritt 3: Maximaler Speicher pro Shell erhöhen
Eine geringe Speicherzuweisung für Remote-Shells kann dazu führen, dass der Datenstrom abrupt ausfällt.
- Im Administrator. Command Prompt Führen Sie den folgenden Befehl aus:
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="2048"} - Um Änderungen anzuwenden, starten Sie den WinRM-Dienst erneut:
net stop winrm && net start winrm
Schritt 4: WinRM-Konfiguration neu registrieren und zurücksetzen
Wenn die Konfigurationsparameter beschädigt sind, können Sie das gesamte WinRM-Setup wieder auf die Standardeinstellungen zurücksetzen.
- Öffnen. PowerShell Wie ein Administrator.
- Führen Sie diesen Befehl aus, um die WinRM-Dienstkonfigurationen vollständig zurückzusetzen:
winrm quickconfig -q - Wenn Sie eine sichere Umgebung konfigurieren, stellen Sie sicher, dass Ihre Einrichtung Fernverbindungen erlaubt, indem Sie:
Enable-PSRemoting -Force
Schritt 5: Aktualisieren Sie das Windows Management Framework (WMF)
Ensure both the source machine and the target machine are running compatible versions of PowerShell.
- Überprüfen Sie Ihre aktuelle Version, indem Sie dies mit PowerShell ausführen:
$PSVersionTable.PSVersion - If either machine is running an older version (like PowerShell 4.0 or lower), download and install the latest Windows Management Framework oder... PowerShell 7+ von der offiziellen Website von Microsoft.
Es kann einige Fehler geben.. Learn Microsoft