Solucionar el error de solicitud defectuosa WinRM HTTP 400
El cliente WinRM (Windows Remote Management) lanza un error HTTP 400 Bad Request cuando intenta establecer una conexión remota, pero el servidor de destino rechaza el formato, el tamaño o los encabezados de la solicitud entrante.
Aquí hay una guía paso a paso para diagnosticar y resolver este problema.
Paso 1: ejecute la herramienta de configuración rápida WinRM
La forma más rápida de solucionar los oyentes dañados o problemas básicos de configuración del servicio es dejar que Windows repare automáticamente la configuración de WinRM.
- Haga clic en el Start Menú, tipo
cmdHaga clic derecho. Command Prompt, y seleccione Run as administrator. - Escriba el siguiente comando y presione Enter:
winrm quickconfig - Si se le pide que haga cambios o configure las excepciones del cortafuegos, escriba
yy presiona. Enter.
Paso 2: Borrar la lista de hosts confiables del cliente WinRM
Una configuración incorrecta. TrustedHosts El restablecimiento o la configuración correcta de esta lista puede resolver la avería de comunicación.
- Abierto. Command Prompt como Administrador.
- Para permitir la comunicación con cualquier host temporalmente (para pruebas), ejecute:
winrm set winrm/config/client @{TrustedHosts="*"} - Alternativamente, si desea restringirlo a su servidor de destino específico, reemplace el asterisco con la IP o el nombre de host del servidor de destino:
winrm set winrm/config/client @{TrustedHosts="TARGET_SERVER_NAME"}
Paso 3: Recrear los oyentes HTTP/HTTPS de WinRM
Si los oyentes predeterminados en la máquina remota están dañados o vinculados a puertos en conflicto, eliminarlos y recrearlos corrige el enrutamiento subyacente del servicio web.
- Abierto. Command Prompt como administrador en el target machine.
- Compruebe los oyentes existentes ejecutando:
winrm enumerate winrm/config/listener - Elimina el escuchador HTTP roto:
winrm delete winrm/config/listener?Address=*+Transport=HTTP - Crear un escuchador HTTP limpio:
winrm create winrm/config/listener?Address=*+Transport=HTTP - Reinicie el servicio WinRM para aplicar los cambios:
net stop winrm && net start winrm
Paso 4: Ajuste MaxTokenSize para la autenticación de Kerberos
Si se está conectando a través de un entorno de dominio y su cuenta de usuario pertenece a muchos grupos de Active Directory, su token de autenticación de Kerberos podría ser demasiado grande. Esto hace que el servidor HTTP WinRM rechace el paquete como una "Bad Request".
- Presione.
Win + R, tiporegedit, y presiona Enter para abrir el Editor de Registro. - Navegue a la siguiente ruta:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters(Nota: Si elParametersLa tecla no existe, haz clic derecho.Kerberos, select New > Key, and name it Parameters). - Haga clic derecho en el
Parameterstecla, selecciona New > DWORD (32-bit) Value. - Nombre del nuevo valor
MaxTokenSize. - Haga doble clic.
MaxTokenSizePonga la base en... Decimal, change the Value data to65535, y haga clic OK. - Reinicie su computadora para aplicar los cambios de registro.
Paso 5: Aumente el tamaño máximo del sobre
A veces, la carga útil de la estructura de datos transmitida a través de WinRM excede el tamaño de configuración permitido por defecto, lo que resulta en un error HTTP 400 inmediato.
- Abierto. Command Prompt como Administrador.
- Ejecute el siguiente comando para aumentar el tamaño máximo del sobre a 1500 KB:
winrm set winrm/config @{MaxEnvelopeSizekb="1500"} - Pruebe su conexión remota de nuevo para ver si la restricción de carga útil estaba causando el problema.
Puede haber algunos errores.. Learn Microsoft