Corrección de error WinRM: Índice de ID de flujo no válido
Descripción del error
Este error ocurre durante Windows Remote Management (WinRM) Esto suele ocurrir cuando se usa PowerShell Remoting o herramientas como Ansible y 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 Este desajuste generalmente es causado por:
- Corrupted WinRM sessions colgando en el fondo.
- Outdated PowerShell versions entre las máquinas locales y remotas.
- Size limits en el paquete de solicitud WinRM que se está superando.
- Corrupted WinRM configurations en la máquina anfitriona.
Soluciones paso a paso
Siga estos pasos para resolver el problema.
Paso 1: Reinicie el servicio WinRM
La solución más rápida es borrar las sesiones remotas suspendidas reiniciando el servicio de administración.
- Abre la puerta. Start Menu.
- ¿ Qué tipo ?
cmdHaga clic derecho. Command Prompt, y seleccione Run as administrator. - Escriba el siguiente comando y presione Enter:
net stop winrm - Escriba el siguiente comando y presione Enter para empezar de nuevo:
net start winrm
Paso 2: Aumente el tamaño máximo de la envolvente de WinRM
Si sus scripts envían grandes bloques de datos, el paquete puede ser truncado y corromper el ID del flujo.
- Quédate con tu Administrador. Command Prompt Está abierto.
- Ejecute este comando para comprobar su configuración actual:
winrm get winrm/config - Ejecute este comando para aumentar el tamaño máximo del sobre a 8192 KB:
winrm set winrm/config @{MaxEnvelopeSizekb="8192"}
Paso 3: Aumentar la memoria máxima por shell
La baja asignación de memoria para shells remotos puede hacer que el flujo de datos falle abruptamente.
- En el Administrador. Command Prompt, ejecute el siguiente comando:
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="2048"} - Reinicie el servicio WinRM de nuevo para aplicar los cambios:
net stop winrm && net start winrm
Paso 4: Registro y restablecimiento de la configuración WinRM
Si los parámetros de configuración están dañados, puede restablecer toda la configuración de WinRM a los valores predeterminados.
- Abierto. PowerShell como un Administrator.
- Ejecute este comando para restablecer completamente las configuraciones del servicio WinRM:
winrm quickconfig -q - Si está configurando un entorno seguro, asegúrese de que su configuración permite conexiones remotas ejecutando:
Enable-PSRemoting -Force
Paso 5: Actualizar el marco de gestión de Windows (WMF)
Ensure both the source machine and the target machine are running compatible versions of PowerShell.
- Compruebe su versión actual ejecutando esto en PowerShell:
$PSVersionTable.PSVersion - If either machine is running an older version (like PowerShell 4.0 or lower), download and install the latest Windows Management Framework - ¿ Qué ? PowerShell 7+ desde el sitio web oficial de Microsoft.
Puede haber algunos errores.. Learn Microsoft