Pri konfigurácii WinRM na serveroch v doméne Active Directory som narazil na zvláštny problém. Po nakonfigurovaní a povolení služby WinRM na serveri sa môže pri vzdialenom pripojení k tomuto serveru pomocou príkazu vzdialene pripojiť pomocou systému Windows PowerShell Remoting. Zadajte msk-dp01 relácie PSSession
V konzole PowerShell sa zobrazí nasledujúca chyba WinRM:
riadok: 1 znak: 1
+ Zadajte msk-dp01 relácie PSSession
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: InvalidArgument: (msk-dp01: String) [Enter-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId: CreateRemoteRunspaceFailed
V anglickej verzii systému Windows vyzerá chyba takto:
PS C: \ Windows \ system32> Zadajte-PSSession msk-dp01Enter-PSSession: Pripojenie k vzdialenému serveru msk-dp01 zlyhalo s nasledujúcim chybovým hlásením: Klient WinRM prijal stav chybnej požiadavky HTTP (400), ale vzdialená služba neobsahovala žiadne ďalšie informácie o príčine zlyhania. Ďalšie informácie nájdete v téme Pomocníka about_Remote_Trou Troubleshooting.
Na riadku: 1 znak: 1
+ Zadajte msk-dp01 relácie PSSession
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: InvalidArgument: (msk-dp01: String) [Enter-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId: CreateRemoteRunspaceFailed
Zároveň na serveri porty WinRm (5985 / HTTP, 5986 / HTTPS) reagujú a prijímajú pripojenia. Dostupnosť portov WinRM TCP môžete skontrolovať pomocou obslužného programu PortQryV2 alebo rutiny PowerShell Test-NetConnection.:
TNC msk-dp01 -port 5985
Ako sa ukázalo, problém súvisel s veľkým tokenom používateľa Kerberos, pretože je v príliš veľkom počte domén. Chyba nastane, keď je veľkosť tokenu 16 Kb (pozri článok MaxTokenSize - Kerberos Token Size). V našej situácii sa to isté stane, server WinRm resetuje žiadosť od klienta, pretože veľkosť hlavičky autentifikačného paketu presahuje 16 kB. V článku s odkazom sme uviedli, že služba IIS štandardne používa veľkosť hlavičky HTTP nie viac ako 16 Kb, av prípade problémov s autentifikáciou HTTP kvôli veľkému používateľskému tokenu je potrebné ju zvýšiť na 64 kB.
Ak chcete problém vyriešiť, musíte zmenšiť veľkosť tokenu (znížiť počet skupín zabezpečenia, ktorých je členom členom), a ak to nie je možné, potom v editore databázy Registry na serveri musíte zmeniť hodnotu nasledujúcich parametrov registra DWORD vo vetve. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ HTTP \ Parameters
- MaxFieldLength zvýšiť na 0000ffff (65535)
- MaxRequestBytes zvýšiť na 0000ffff (65535)
Zostáva reštartovať server a skontrolovať pripojenie WinRm cez Enter-PSSession od klienta.