Al configurar WinRM en servidores en el dominio de Active Directory, me he enfrentado a un problema extraño. Una vez que el servicio WinRM está configurado y habilitado en el servidor de Windows, y se permite la conexión remota a través de Windows PowerShell Remoting, aparece el siguiente error de WinRM en la consola de PowerShell después del intento de conexión remota al servidor usando Enter-PSSession lon-dc1 mando:
PS C: Windows system32> Enter-PSSession lon-dc01
Enter-PSSession: La conexión al servidor remoto lon-dc1 falló con el siguiente mensaje de error: El cliente WinRM recibió un estado de solicitud HTTP incorrecta (400), pero el servicio remoto no incluyó ninguna otra información sobre la causa del error. Para obtener más información, consulte el tema de ayuda about_Remote_Troubleshooting.
En línea: 1 carácter: 1
+ Enter-PSSession lon-dc1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: InvalidArgument: (lon-dc1: String) [Enter-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId: CreateRemoteRunspaceFailed
También puede ver el siguiente mensaje de error:
El cliente WinRM no puede procesar la solicitud. No puede determinar el tipo de contenido de la respuesta HTTP del equipo de destino. El tipo de contenido está ausente o no es válido.
Al mismo tiempo, los puertos WinRM del servidor (5985 / HTTP, 5986 / HTTPS) responden y aceptan conexiones. Puede comprobar la disponibilidad de los puertos TCP WinRM mediante la herramienta PortQry o el cmdlet Test-NetConnection de PowerShell:
TNC lon-dc1 –port 5985
Resultó que el problema estaba relacionado con el gran tamaño del token Kerberos de un usuario debido a que el usuario era miembro de demasiados grupos de seguridad de dominio. El error aparece cuando el tamaño del token excede 16 KB (consulte el artículo Kerberos MaxTokenSize y Security Groups). En nuestro caso sucede de la misma forma, el servidor WinRM resetea la solicitud de un cliente, ya que el tamaño del encabezado del paquete de autenticación supera los 16 KB. En el artículo sobre el enlace anterior, mencionamos que el encabezado HTTP predeterminado en IIS no es más de 16 KB, y en caso de problemas con la autenticación HTTP debido a un token de usuario grande, debe ser aumentado a 64 KB.
Para solucionar el problema, debe reducir el tamaño del token (reducir la cantidad de grupos de seguridad de los que es miembro un usuario) y, si no es posible, cambiar los valores de los siguientes parámetros DWORD en la clave de registro del servidor HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet services HTTP Parameters.
- MaxFieldLength aumentar a 0000ffff (65535);
- MaxRequestBytes aumentar a 0000ffff (65535).

Ahora simplemente reinicie su servidor y verifique su conexión WinRM desde el cliente remoto usando Enter-PSSession.




