स्थानीय Windows नाम-पाइप के विफल होने के क्या कारण हैं?


14

मैं पूरे एक दिन इस पर कड़ी मेहनत कर रहा हूं और मैं फंस गया हूं। आज सुबह हमारे एशियाई कॉलिजों ने मुझे फोन किया क्योंकि हमारे उत्पाद डेटा प्रबंधन प्रणाली के लिए एक सॉलिडवर्क्स एडिन स्थानीय मुख्य एप्लिकेशन के साथ संवाद नहीं कर सका। समस्या विंडोज डोमेन में अंतिम उपयोगकर्ता कंप्यूटरों को प्रभावित करती है। हमने SQL सर्वर टूलबॉक्स से READPIPE और MAKEPIPE बर्तनों का उपयोग यह पता लगाने के लिए किया कि अंतर्निहित समस्या विंडोज पाइप की विशेषता थी।

  • MAKEPIPE उपयोग एक पाइप बनाता है और एक ग्राहक की प्रतीक्षा कर रहा है। READPIPE उपयोग रिटर्न: "पाइप खोलने में विफल। स्थिति 53।" Http://support.microsoft.com/kb/110905 के अनुसार इसका मतलब है कि नेटवर्क नाम नहीं मिला। मेरे स्थानीय कंप्यूटर पर पाइप समस्याओं के बिना READPIPE से MAKEPIPE तक एक "हैलो" बैठता है।
  • सर्वर प्रक्रिया जो नामांकित-पाइप को सक्षम करती है, चल रही है।
  • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Lanmanserver \ Parameters के अंतर्गत सेटिंग्स ठीक लगती हैं। कोई पाइप फ़ायरवॉल सेटिंग नहीं।
  • समस्या कुछ उपयोगकर्ताओं को प्रभावित करती है लेकिन सभी को नहीं। हमने कुछ नेटवर्क साझा समूहों को छोड़कर डोमेन समूहों में परिवर्तन नहीं किया।
  • मैंने व्यवस्थापक के रूप में लॉग ऑन किया और अभी भी पाइप काम नहीं करेगा।

किसी भी मदद की सराहना की है! धन्यवाद।


क्या प्रभावित उपयोगकर्ता प्रश्न में सर्वर पर साधारण फ़ाइल शेयरों से जुड़ सकते हैं?
हैरी जॉनसन

वर्तमान में शेयरों के साथ कोई समस्या नहीं है। यह एक सर्वर / क्लाइंट समस्या नहीं है। दोनों प्रक्रियाएं एक ही कंप्यूटर पर होती हैं।
user152700

जब आप समस्या को पुन: उत्पन्न करते हैं, तो READPIPE और MAKEPIPE के साथ प्रशासक के रूप में एक प्रभावित कंप्यूटर में लॉग इन करें, आपके द्वारा उपयोग किए जा रहे सटीक आदेश क्या हैं? (कृपया उन्हें टिप्पणी में डालने के बजाय उन्हें शामिल करने के लिए अपनी पोस्ट संपादित करें।)
हैरी जॉनसन

आपके समर्थन के लिए धन्यवाद। यह एक कठिन था और मैं यहां समाधान का दस्तावेजीकरण करूंगा।
user152700

जवाबों:


12

हर मामले का पता लगाने के लिए 1,5 दिन चाहिए। यहाँ प्रलेखन के लिए।

लक्षण

  • एप्लिकेशन में ड्रैग एंड ड्रॉप काम नहीं करता है।
  • इंटरप्रोसेस संचार मुख्य ऐप और एडिंस के बीच काम नहीं करता है।

कारण / पृष्ठभूमि

Interprocess संचार कुछ ऐप के लिए विंडोज नाम के पाइप (UNIX स्टाइल पाइप के साथ भ्रमित नहीं होना) के माध्यम से लागू किया जाता है। MSDN प्रलेखन देखें: http://msdn.microsoft.com/en-us/library/aa365590.aspx

विंडोज नाम के पाइप काम न करने के अलग-अलग कारण हो सकते हैं। यह पुष्टि करने के लिए कि पाइप उस समस्या का कारण है जिसके लिए उपकरण MAKEPIPE और READPIPE का उपयोग किया जा सकता है। यह KB आलेख परीक्षण प्रक्रिया का वर्णन करता है: http://support.microsoft.com/kb/68941 Sysinternals टूल प्रोसेस एक्सप्लोरर यह देखने के लिए भी उपयोगी हो सकता है कि कौन से पाइप वर्तमान में खोले गए हैं। "Find -> Find Handle or DLL ..." विकल्प का उपयोग करें और पैटर्न "\ Device \ NamedPipe \" दर्ज करें। यह आपको दिखाएगा कि किन प्रक्रियाओं में कौन से पाइप खुले हैं। http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

समस्या निवारण

कारण 1: अनुप्रयोग पाइप फ़ायरवॉल द्वारा अवरुद्ध है

विंडोज नामित पाइपों के उपयोग से एप्लिकेशन को ब्लॉक कर सकता है। यह फ़ायरवॉल सामान्य रूप से सक्षम नहीं है और रजिस्ट्री के माध्यम से कॉन्फ़िगर किया गया है। : एम एस समर्थन लेख यहाँ देखें http://support.microsoft.com/kb/925890 । जांचें कि पाइप फ़ायरवॉल सक्षम नहीं है या अनुमत अनुप्रयोगों की सूची में कीटेक और सभी एडिंस जोड़ें।

कारण 2: फ़ाइल और प्रिंटर साझाकरण सेवा सक्षम नहीं है।

नामांकित पाइप उस प्रक्रिया से सक्षम होते हैं जो फ़ाइल और प्रिंटर साझाकरण को भी नियंत्रित करता है। जांचें कि यह प्रक्रिया विंडोज सर्विसेज टूल का उपयोग करके चल रही है। सेवा का नाम सेवा सूची में "सर्वर" के रूप में दिखाया गया है। सेवा का नाम LanmanServer है और EXE C है: \ Windows \ system32 \ svchost.exe -k netsvcs

कारण 3: Windows फ़ायरवॉल LanmanServer को रोक रहा है

विंडोज़ फ़ायरवॉल नामित पाइपों को तब भी ब्लॉक कर सकता है जब उनका उपयोग केवल उसी मशीन पर अंतर-प्रक्रिया संचार के लिए किया जाता है। विशेष रूप से डोमेन और स्थानीय फ़ायरवॉल नियम संघर्ष का कारण बन सकते हैं। "Windows फ़ायरवॉल अनुमत प्रोग्राम" सूची में दो प्रविष्टियाँ एक संघर्ष का संकेत देती हैं। ज्यादातर मामलों में "चेक फ़ायरवॉल स्थिति" विंडो का उपयोग करके इस समस्या को हल किया जा सकता है। यदि यह विंडो अनुशंसित फ़ायरवॉल नियमों को सेट करने के लिए एक विकल्प दिखाती है, तो पाइप को अक्सर इस विकल्प का उपयोग करके अनब्लॉक किया जा सकता है। डोमेन फ़ायरवॉल नियमों के साथ संयोजन में, कभी-कभी पीसी को पहले डोमेन से बाहर करना आवश्यक होता है और फिर फ़ाइल और प्रिंटर साझाकरण सेवा की अनुमति होती है।


3
कारण 1) पाइप फ़ायरवॉल केवल नामित पाइपों तक दूरस्थ पहुंच को प्रभावित करता है। हालाँकि, ध्यान दें कि \\ machinename \ pipename का उपयोग करके एक नामित पाइप से कनेक्ट करना संभवत: रिमोट एक्सेस के रूप में गिना जाता है, भले ही मशीन मशीन स्थानीय मशीन हो।
हैरी जॉन्सटन

3
कारण 2) इसी प्रकार, फ़ाइल और प्रिंटर साझाकरण केवल नामित पाइपों तक पहुंच के लिए आवश्यक है। फिर, \\ machinename \ pipename शायद इस उद्देश्य के लिए दूरस्थ पहुँच के रूप में गिना जाता है।
हैरी जॉनसन

कारण 3) विंडोज फ़ायरवॉल स्थानीय कनेक्शन को ब्लॉक करने में सक्षम नहीं होना चाहिए, भले ही \\ machinename \ pipename का उपयोग कर रहा हो। हालाँकि, यदि आप एक डोमेन में हैं और Windows फ़ायरवॉल बुरी तरह से गलत है, तो आप शायद अधिक व्यापक समस्याओं का सामना कर रहे हैं, शायद प्रमाणीकरण से संबंधित है।
हैरी जॉनसन

@HarryJohnston किस प्रकार के प्रमाणीकरण को अवरुद्ध किया जा सकता है? जैसा यहाँServiceHost.Authentication वर्णित है ?
iSantSeeSharp

यदि आप एक डोमेन में हैं, और डोमेन कंट्रोलरों के लिए आपका नेटवर्क एक्सेस विंडोज फ़ायरवॉल (या किसी अन्य कारण से) द्वारा अवरुद्ध है, तो आप प्रमाणित करने में सक्षम नहीं हो सकते हैं। यह वास्तव में स्थानीय पाइप पहुंच को प्रभावित नहीं करना चाहिए, लेकिन YMMV।
हैरी जॉनसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.