WinRM ne može obraditi zahtjev. Nije moguće odrediti vrstu sadržaja HTTP odgovora s odredišnog računala

Pri konfiguriranju WinRM-a na poslužiteljima u domeni Active Directory naišao sam na neobičan problem. Nakon što je usluga WinRM konfigurirana i omogućena na poslužitelju, dopušteno je daljinsko povezivanje putem programa Windows PowerShell Remoting, prilikom pokušaja daljinskog povezivanja s ovim poslužiteljem pomoću naredbe. Enter-PSSession msk-dp01 Sljedeća pogreška WinRM-a pojavljuje se u PowerShell konzoli:

Enter-PSSession: veza s udaljenim poslužiteljem msk-dp01 nije uspjela. Poruka pogreške: WinRM klijent ne može obraditi zahtjev. Nije moguće odrediti vrstu sadržaja HTTP odgovora na odredišnom računalu. Vrsta sadržaja nije valjana ili nedostaje. Dodatne informacije potražite u članku o pomoći oko rješavanja problema..

redak: 1 znak: 1

+ Enter-PSSession msk-dp01

+ ~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo: InvalidArgument: (msk-dp01: String) [Enter-PSSession], PSRemotingTransportException

+ FullyQualifiedErrorId: CreateRemoteRunspaceFailed

U engleskoj verziji sustava Windows pogreška izgleda ovako:

PS C: \ Windows \ system32> Enter-PSSession msk-dp01

Enter-PSSession: Spajanje na udaljeni poslužitelj msk-dp01 nije uspjelo sa sljedećom porukom o pogrešci: WinRM klijent je primio status lošeg zahtjeva HTTP-a (400), ali daljinska usluga nije sadržavala nikakve druge podatke o uzroku neuspjeha. Dodatne informacije potražite u temi o pomoći_Remote_Troubleshooting.

Na redu: 1 znak: 1

+ Enter-PSSession msk-dp01

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo: InvalidArgument: (msk-dp01: String) [Enter-PSSession], PSRemotingTransportException

+ FullyQualifiedErrorId: CreateRemoteRunspaceFailed

U isto vrijeme, na poslužitelju, WinRm portovi (5985 / HTTP, 5986 / HTTPS) odgovaraju i prihvaćaju veze. Možete provjeriti dostupnost WinRM TCP portova korištenjem uslužnog programa PortQryV2 ili alatke PowerShell Test-NetConnection:

TNC msk-dp01 -port 5985

Kako se ispostavilo, problem se pokazao povezanim s velikim korisnikovim tokenom Kerberos, zbog činjenice da je korisnik u previše grupa domena. Do greške dolazi kada je veličina tokena 16 Kb (vidi članak MaxTokenSize - Kerberos Token Size). U našoj situaciji, događa se isto, WinRm poslužitelj resetira zahtjev od klijenta, jer veličina zaglavlja paketa za provjeru autentičnosti prelazi 16 Kb. U referentnom članku spomenuli smo da IIS prema zadanim postavkama koristi HTTP zaglavlje veličine ne veće od 16 Kb, a u slučaju problema s HTTP autentifikacijom zbog velikog korisničkog tokena, mora se povećati na 64 Kb

Da biste riješili problem, trebate smanjiti veličinu tokena (smanjite broj sigurnosnih skupina kojima je korisnik član), a ako to nije moguće, onda u uređivaču registra na poslužitelju morate promijeniti vrijednost sljedećih parametara registra DWORD u grani HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ usluge \ HTTP \ Parametri

  • MaxFieldLength povećanje na 0000ffff (65535)
  • MaxRequestBytes povećanje na 0000ffff (65535)

Ostaje ponovno pokrenuti poslužitelj i provjeriti vezu WinRm-a putem Enter-PSSession-a od klijenta.