문제 상황: Enter-PSSession 실행 시 HTTP 400 오류
Active Directory 도메인에 속한 Windows 서버에서 WinRM을 구성하다 보면 예상치 못한 문제를 만나게 됩니다. 서버에서 WinRM 서비스를 설정·활성화하고 PowerShell Remoting을 통한 원격 연결까지 허용했는데도, Enter-PSSession lon-dc1 명령으로 원격 접속을 시도하면 다음과 같은 오류가 PowerShell 콘솔에 나타납니다.
PS C:\Windows\system32> Enter-PSSession lon-dc01
Enter-PSSession : Connecting to remote server lon-dc1 failed with the following error message :
The WinRM client received an HTTP bad request status (400), but the remote service did not
include any other information about the cause of the failure.
For more information, see the about_Remote_Troubleshooting Help topic.
환경에 따라 아래와 같은 메시지가 함께 표시되기도 합니다.
"WinRM 클라이언트가 요청을 처리할 수 없습니다. 대상 컴퓨터에서 반환된 HTTP 응답의 콘텐츠 형식(Content Type)을 확인할 수 없습니다. 콘텐츠 형식이 없거나 잘못되었습니다."

포트는 정상적으로 열려 있는 경우
흥미로운 점은 이 오류가 발생하더라도 서버의 WinRM 포트(5985/HTTP, 5986/HTTPS)는 정상적으로 응답하고 연결을 수락한다는 사실입니다. PortQry 도구나 PowerShell의 Test-NetConnection cmdlet으로 포트 개방 여부를 직접 확인할 수 있습니다.
TNC lon-dc1 -Port 5985

포트가 열려 있음에도 연결이 실패한다면, 문제는 네트워크가 아니라 인증 과정에 있다고 볼 수 있습니다.
원인: Kerberos 토큰 크기 초과 (16KB 제한)
이 문제의 근본적인 원인은 사용자가 너무 많은 도메인 보안 그룹(Security Group)에 속해 있어 Kerberos 토큰 크기가 비정상적으로 커진 것입니다. 토큰 크기가 16KB를 초과하면 이러한 오류가 발생합니다(자세한 내용은 Kerberos MaxTokenSize 및 보안 그룹 관련 문서를 참고하세요).
동작 방식을 살펴보면 다음과 같습니다. WinRM 서버는 클라이언트의 요청을 받았을 때, 인증 패키지 헤더 크기가 16KB를 초과하면 해당 요청을 강제로 종료(reset)해 버립니다. IIS의 기본 HTTP 헤더 최대 크기가 16KB로 제한되어 있기 때문인데, 사용자 토큰이 커서 HTTP 인증에 문제가 발생하는 경우 이 값을 64KB까지 늘려야 합니다.
해결 방법 1: 토큰 크기 줄이기
가장 근본적인 해결책은 Kerberos 토큰 크기를 줄이는 것입니다. 즉, 해당 사용자 계정이 속한 보안 그룹의 수를 줄이면 됩니다. 다만 실무 환경에서는 그룹 멤버십을 임의로 축소하기 어려운 경우가 많습니다.
해결 방법 2: 레지스트리 값 수정 (MaxFieldLength / MaxRequestBytes)
그룹 멤버십을 줄일 수 없다면, 서버에서 아래 레지스트리 키의 DWORD 값을 변경하여 HTTP 헤더 크기 제한을 늘리십시오.
레지스트리 경로:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters
- MaxFieldLength →
0000ffff(65535)로 증가 - MaxRequestBytes →
0000ffff(65535)로 증가

마무리: 서버 재시작 및 연결 테스트
레지스트리 값을 변경한 후에는 반드시 서버를 재시작해야 변경 사항이 적용됩니다. 재부팅이 완료되면 원격 클라이언트에서 다시 Enter-PSSession 명령을 실행하여 WinRM 연결이 정상적으로 수립되는지 확인하십시오.
요약하면, WinRM의 HTTP 400 오류는 대부분 포트 차단이 아니라 과도하게 커진 Kerberos 토큰이 원인입니다. 보안 그룹 정리가 어렵다면 레지스트리의 MaxFieldLength와 MaxRequestBytes 값을 65535로 늘려 문제를 해결할 수 있습니다.