सक्रिय निर्देशिका डोमेन में सर्वर पर WinRM को कॉन्फ़िगर करते समय, मुझे एक अजीब समस्या का सामना करना पड़ा। Windows सर्वर पर WinRM सेवा कॉन्फ़िगर और सक्षम होने के बाद, और Windows PowerShell Remoting के माध्यम से इसके लिए दूरस्थ कनेक्शन की अनुमति दी जाती है, Enter-PSSession lon-dc1
आदेश:
PS C:\Windows\system32> Enter-PSSession lon-dc01
Enter-PSSession :दूरस्थ सर्वर lon-dc1 से कनेक्ट करना निम्न त्रुटि संदेश के साथ विफल हुआ:WinRM क्लाइंट को HTTP खराब अनुरोध स्थिति (400) प्राप्त हुई, लेकिन दूरस्थ सेवा में विफलता के कारण के बारे में कोई अन्य जानकारी शामिल नहीं थी। अधिक जानकारी के लिए, about_Remote_समस्या निवारण सहायता विषय देखें।
पंक्ति में:1 वर्ण:1
+ Enter-PSSession lon-dc1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ केटेगरीइन्फो :अमान्य आर्ग्यूमेंट:(लोन-डीसी1 :स्ट्रिंग) [एंटर-पीएससेशन], PSRemotingTransportException
+ FullQualifiedErrorId :CreateRemoteRunspaceFailed
साथ ही आप निम्न त्रुटि संदेश देख सकते हैं:
WinRM क्लाइंट अनुरोध को संसाधित नहीं कर सकता। यह गंतव्य कंप्यूटर से HTTP प्रतिक्रिया के सामग्री प्रकार को निर्धारित नहीं कर सकता है। सामग्री प्रकार अनुपस्थित या अमान्य है।
उसी समय सर्वर पर WinRM पोर्ट (5985/HTTP, 5986/HTTPS) प्रतिसाद देते हैं और कनेक्शन स्वीकार करते हैं। आप PortQry टूल या Test-NetConnection PowerShell cmdlet का उपयोग करके WinRM TCP पोर्ट की उपलब्धता की जांच कर सकते हैं:
TNC lon-dc1 –port 5985
<मजबूत>
जैसा कि यह निकला, समस्या उपयोगकर्ता के करबरोस टोकन के बड़े आकार से संबंधित थी क्योंकि उपयोगकर्ता बहुत अधिक डोमेन सुरक्षा समूहों का सदस्य था। त्रुटि तब प्रकट होती है जब टोकन का आकार 16 KB . से अधिक हो जाता है (लेख Kerberos MaxTokenSize and Security Groups देखें)। हमारे मामले में, यह उसी तरह होता है, WinRM सर्वर क्लाइंट से अनुरोध को रीसेट करता है, क्योंकि प्रमाणीकरण पैकेज हेडर का आकार 16 केबी से अधिक है। ऊपर दिए गए लिंक पर लेख में हमने उल्लेख किया है कि IIS पर डिफ़ॉल्ट HTTP हेडर 16 KB से अधिक नहीं है, और बड़े उपयोगकर्ता टोकन के कारण HTTP प्रमाणीकरण के साथ समस्याओं के मामले में, इसे 64 KB तक बढ़ाने की आवश्यकता हैमजबूत> ।
समस्या को ठीक करने के लिए, आपको टोकन आकार को कम करने की आवश्यकता है (उपयोगकर्ता के सदस्य सुरक्षा समूहों की संख्या कम करें), और यदि यह संभव नहीं है, तो सर्वर रजिस्ट्री कुंजी पर निम्न DWORD पैरामीटर के मान बदलें। HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters ।
- MaxFieldLength बढ़ाकर 0000ffff (65535);
- MaxRequestBytes 0000ffff (65535) तक बढ़ाएं।
अब बस अपने सर्वर को पुनरारंभ करें और Enter-PSSession का उपयोग करके दूरस्थ क्लाइंट से अपना WinRM कनेक्शन जांचें।