Pri konfiguriranju programa WinRM na strežnikih v domeni Active Directory sem naletel na nenavadno težavo. Ko je storitev WinRM konfigurirana in omogočena na strežniku, je dovoljena daljinska povezava s sistemom Windows PowerShell Remoting, ko se poskušate z ukazom na daljavo povezati s tem strežnikom. Vnesite-PSSession msk-dp01
Naslednja napaka WinRM se prikaže v konzoli PowerShell:
vrstica: 1 znak: 1
+ Vnesite-PSSession msk-dp01
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: InvalidArgument: (msk-dp01: String) [Enter-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId: CreateRemoteRunspaceFailed
V angleški različici sistema Windows napaka izgleda tako:
PS C: \ Windows \ system32> Enter-PSSession msk-dp01Enter-PSSession: Povezava z oddaljenim strežnikom msk-dp01 ni uspela z naslednjim sporočilom o napaki: odjemalec WinRM je prejel stanje slabe zahteve HTTP (400), vendar oddaljena storitev ni vključevala nobenih drugih informacij o vzroku okvare. Če želite več informacij, glejte temo Pomoč about_Remote_Troubleshooting.
Na vrsti: 1 znak: 1
+ Vnesite-PSSession msk-dp01
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: InvalidArgument: (msk-dp01: String) [Enter-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId: CreateRemoteRunspaceFailed
Hkrati se na strežniku vrata WinRm (5985 / HTTP, 5986 / HTTPS) odzovejo in sprejmejo povezave. Razpoložljivost vrat WinRM TCP lahko preverite s pripomočkom PortQryV2 ali ukaznim programom PowerShell Test-NetConnection:
TNC msk-dp01 -port 5985
Kot se je izkazalo, se je težava izkazala za uporabnikovo veliko žeton Kerberos zaradi dejstva, da je uporabnik v preveč skupnih domenah. Do napake pride, ko je velikost žetona 16 Kb (glej članek MaxTokenSize - Kerberos Token Size). V naših razmerah se zgodi isto, strežnik WinRm ponastavi zahtevo odjemalca, ker velikost glave paketa za overjanje presega 16 Kb. V referenčnem članku smo omenili, da IIS privzeto uporablja HTTP glavo velikosti največ 16 Kb, v primeru težav s preverjanjem pristnosti HTTP zaradi velikega uporabniškega žetona pa jo je treba povečati na 64 Kb
Če želite odpraviti težavo, morate zmanjšati velikost žetona (zmanjšati število varnostnih skupin, v katerih je uporabnik član), in če to ni mogoče, potem morate v urejevalniku registra na strežniku spremeniti vrednost naslednjih parametrov registra DWORD v veji HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ storitve \ HTTP \ Parametri
- MaxFieldLength povečanje na 0000ffff (65535)
- MaxRequestBytes povečanje na 0000ffff (65535)
Ostaja še enkrat zagnati strežnik in preveriti povezavo WinRm prek Enter-PSSession od odjemalca.