विंडोज एनएलए को स्थानीय नेटवर्क को नए, अज्ञात नेटवर्क के रूप में बार-बार पता लगाने से रोकें


14

मैं विंडोज 10 और 7 पीसी की संख्या के साथ एक छोटे व्यवसाय नेटवर्क का प्रबंधन कर रहा हूं। रुक-रुक कर लेकिन बहुत बार उपयोगकर्ता शिकायत करते हैं कि वे अब अन्य सहकर्मियों के साथ साझा किए गए फ़ोल्डर्स तक नहीं पहुंच सकते हैं। त्वरित समस्या निवारण यह निर्धारित करता है कि यह मुद्दा कुख्यात "अज्ञात नेटवर्क का पता लगाने" के कारण है जो तब "निजी" नेटवर्क प्रोफाइल के बजाय "सार्वजनिक" नेटवर्क प्रोफाइल लागू करता है, इस प्रकार होमग्रुप / फ़ाइल साझाकरण, आदि काम नहीं करता है। मेरी खोज से यह कई उपयोगकर्ताओं के लिए एक आम समस्या है। मुझे कोई प्रस्तावित समाधान नहीं दिखता है जो काम करता हो।

वातावरण:

  • सभी विंडोज पीसी वायर्ड ईथरनेट के माध्यम से जुड़े हुए हैं (हालांकि उनके पास एक वाईफ़ाई एनआईसी हो सकता है)
  • वे सभी एक ही 10.10.10.x सबनेट पर एक 48 पोर्ट Avaya L2 प्रबंधित स्विच से जुड़े हुए हैं
  • स्विच असूस RTN-66U होम राउटर से जुड़ा है
  • आसुस राउटर केबल मॉडेम से जुड़ता है
  • Asus राउटर विंडोज मशीनों को डीएचसीपी प्रदान करता है
  • मैंने प्रत्येक विंडोज पीसी के लिए डीएचसीपी आरक्षण के साथ राउटर को कॉन्फ़िगर किया है, अर्थात पीसी को हमेशा बूटअप पर समान आईपी पता मिलता है
  • कोई डोमेन नियंत्रक नहीं

संकट:

भले ही मैंने सभी विंडोज मशीनों को सक्रिय नेटवर्क प्रोफाइल = निजी रूप से कॉन्फ़िगर किया है, वे अक्सर (हर एक या दो सप्ताह बाद) सार्वजनिक रूप से वापस आ जाते हैं, जो फ़ाइल साझाकरण आदि को रोकता है।

ठीक किए गए प्रयास:

प्रत्येक विंडोज पीसी पर मैंने स्थानीय समूह नीति को संशोधित किया है Computer Configuration->Security Settings->Network List Manager Policies:

  • अज्ञात नेटवर्क = निजी
  • पहचानकर्ता नेटवर्क = निजी

टिप्पणियों:

मेरा मानना ​​है कि मुद्दा यह है कि विंडोज नेटवर्क लोकेशन अवेयरनेस (एनएलए) सेवा एक नए नेटवर्क का पता लगा रही है, जिसके कारण एक नया नेटवर्क प्रोफाइल बनाया जाता है, जो तब सार्वजनिक रूप से डिफॉल्ट करता है (भले ही ऊपर मैंने स्थानीय समूह नीति को निजी रूप से डिफ़ॉल्ट करने के लिए कॉन्फ़िगर किया हो) । कई कंप्यूटर दिखाते हैं कि विंडोज ने कई बार एक नए अज्ञात नेटवर्क का पता लगाया है, यानी वे "नेटवर्क 14" दिखाते हैं, यानी 14 अन्य नेटवर्क प्रोफाइल हैं। रजिस्ट्री में यहाँ प्रोफाइल की समीक्षा करते समय मैं इन कई प्रोफाइलों को देखता हूँ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles:।

सभी 14 प्रोफ़ाइल तब हैं जब कंप्यूटर वास्तव में ऊपर वर्णित उसी नेटवर्क से जुड़ा था।

मुझे ऐसा संसाधन नहीं मिला है जो बताता है कि कैसे एनएलए नेटवर्क के लिए एक विशिष्ट पहचानकर्ता बनाता है और इस तरह यह पता लगा सकता है कि उसने एक नया नेटवर्क खोज लिया है।

सवाल:

मैं अपने स्थानीय नेटवर्क को नए नेटवर्क के रूप में गलत पहचानने से विंडोज को कैसे रख सकता हूं? शायद यह मदद करता है अगर मुझे पता था कि एक नेटवर्क के लिए एक विशिष्ट पहचानकर्ता उत्पन्न करने के लिए एनएलए क्या कदम उठाता है?


1
वास्तविक समस्या को हल करने के बारे में पूछने पर ध्यान केंद्रित करने में मदद करने के लिए मैंने आपके प्रश्न को थोड़ा संपादित किया। XY समस्या देखें ।
मैं

NLA उस नेटवर्क एडेप्टर के लिए निर्दिष्ट डिफ़ॉल्ट गेटवे के मैक पते के आधार पर एक नेटवर्क की पहचान करता है। क्या यह संभव है कि आपका राउटर इन कंप्यूटरों के लिए दुर्गम हो गया है? क्या समस्या समय की एक छोटी विंडो में कई कंप्यूटरों को प्रभावित करती है, या क्या यह एक दिन में केवल एक उपयोगकर्ता है, फिर एक अन्य उपयोगकर्ता पूरी तरह से अलग समय पर?
मैं

शायद कंप्यूटर \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ NetworkList \ Sign \ Unmanaged या कम से कम रजिस्ट्री में उस स्थान को देखें - और देखें कि क्या DefaultGatewayMAC और DNSSuffix मैच से आपको उम्मीद है
Ross

पॉलएच - जब आपको एक पल मिलता है, तो मेरे उत्तर की जाँच करें, यह वही है जो मैंने उत्पादन वातावरण में ठोस सफलता के साथ प्रयोग किया है जैसा कि मैंने विधि 1 अनुभाग में रखा है, लेकिन मैंने अपने उत्तर के विधि 2 अनुभाग के साथ अधिक विवरण भी प्रदान किया है । मुझे आशा है कि आप इस मुद्दे के रूप में मददगार हैं।
दलाल रस आईटी

जवाबों:


5

विधि 1

एक तरह से मैं एक वातावरण में एक महत्वपूर्ण Windows सर्वर सिस्टम पर इस मुद्दे के साथ पेश किया है मैं बनाए रखने का उपयोग करता है एक बैच स्क्रिप्ट के साथ था सेट NetConnectionProfile और netsh , और स्पष्ट रूप से प्रत्येक के लिए एनआईसी / मशीन पर अनुकूलक पर भरोसा सेट निजी पर सिस्टम स्टार्टअप के साथ कार्य अनुसूचक का उपयोग कर Run whether user is logged on or notऔर Run with highest privilegesविकल्प।

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

नोट: जबकि बाउंटी नोट में कहा गया है " समाधान को लागू करने के लिए नेटवर्क कनेक्टिविटी के नुकसान का कारण नहीं होना चाहिए " मैं यह उल्लेख करना चाहता था कि जब से यह समस्या होती है, तब भी आपके पास एक नेटवर्क व्यवधान होता है, कि सिस्टम होने पर यह स्क्रिप्ट यादृच्छिक रूप से समस्या होने पर चलती है। रिबूट नहीं किया गया है कि बस इसी स्क्रिप्ट को चला रहा है फिर भी जल्दी से समस्या को हल करेगा और ओएस मशीन नेटवर्क को वापस काम और अपेक्षित क्रम में प्राप्त करेगा।

इसके अलावा, आप अपनी आवश्यकताओं और / या प्रणालियों के लिए नीचे दिए गए उदाहरण बैच स्क्रिप्ट में एनआईसी उपनाम नाम और सूचकांक संख्या प्राप्त करने के लिए Get-NetConnectionProfile का उपयोग कर सकते हैं ।

बैच स्क्रिप्ट

@ECHO ON

::: The below PowerShell will set all the nework adapters to private rather than public and unknown as happens.
:DynamicPSScriptBuild
SET PSScript=%temp%\%~n0.ps1
IF EXIST "%PSScript%" DEL /Q /F "%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 12 -NetworkCategory Private>>"%PSScript%" 
ECHO Set-NetConnectionProfile -InterfaceIndex 20 -NetworkCategory Private>>"%PSScript%" 
ECHO Set-NetConnectionProfile -InterfaceIndex 22 -NetworkCategory Private>>"%PSScript%" 
ECHO Set-NetConnectionProfile -InterfaceIndex 24 -NetworkCategory Private>>"%PSScript%"

:PowerShell
SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'"

:: The below will disable and then re-enable each NIC one-by-one so the unidentfied goes away after set to "private" above
:ResetNICs
SET Array="Ethernet", "Ethernet 2", "Ethernet 3", "Ethernet 4"
FOR %%A IN (%Array%) DO (
    netsh int set int "%%~A" admin=disable
    netsh int set int "%%~A" admin=enable
)
EXIT

नीचे कुछ अन्य विधियां दी गई हैं, जिनमें से कई में से एक जो आपने आजमाई है, लेकिन मैंने इसे दूसरों के लिए वहां छोड़ दिया है जो इस पद पर आते हैं अगर यह उनकी मदद करता है, लेकिन ये कुछ तरीके हैं जो इसे पूरी तरह से रोक सकते हैं लेकिन शायद हमेशा अपसाइड और डाउनसाइड करने के लिए किसी भी विधि का उपयोग करने के लिए आप अपने जहर का चयन करें और तदनुसार परीक्षण करें।

विधि 2 (एकाधिक विधियाँ)

अज्ञात नेटवर्क - सार्वजनिक से निजी या डोमेन पर जाएं

यदि NLA कनेक्शन स्थान निर्धारित नहीं कर सकता है, तो वह इसे "अज्ञात" नाम देता है और स्थान को सार्वजनिक के रूप में चिह्नित करता है। यह पब्लिक को चुनता है क्योंकि यह सबसे सुरक्षित है और अगर आप डीएमजेड पर हैं तो आप कुछ भी कम नहीं चाहेंगे।

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

स्थानीय सुरक्षा नीति का उपयोग करना

सावधानी: इसका उपयोग केवल तभी किया जाना चाहिए जब कंप्यूटर में सार्वजनिक लैन पर कोई कनेक्शन नहीं होगा। अन्यथा, आप अपने सार्वजनिक कनेक्शन पर लागू कम सुरक्षित फ़ायरवॉल प्रोफ़ाइल के जोखिम को चलाते हैं।

  1. " स्थानीय सुरक्षा नीति " खोलें ।

  2. बाएं फलक में " नेटवर्क सूची प्रबंधक नीतियां " पर क्लिक करें । (यह चयन विंडोज के पुराने संस्करणों में दफन है।)

  3. दाएँ फलक में " अज्ञात नेटवर्क " पर डबल-क्लिक करें ।

  4. उन कंप्यूटरों के लिए जो केवल निजी नेटवर्क पर मौजूद हैं, " स्थान प्रकार " को " निजी " पर सेट करना ठीक है ।

    यहाँ छवि विवरण दर्ज करें

नेटवर्क कनेक्शन गुणों का उपयोग करना

यह गेटवे IP जोड़ने के बारे में नहीं है क्योंकि यह बहु-होम सर्वर पर ठीक से काम नहीं करता है। इसके बजाय हम एक DNS प्रत्यय जोड़ रहे होंगे ताकि एनएलए डोमेन नियंत्रक को ठीक से पता कर सके कि वह स्थान को "नेटवर्क नेटवर्क" के रूप में कैसे चिह्नित करता है।

  1. नेटवर्क कनेक्शंस पर जाएं (नेटवर्क और शेयरिंग सेंटर से, "एडेप्टर सेटिंग्स बदलें" पर क्लिक करें।)

  2. पर जाएं propertie एक नेटवर्क कनेक्शन "के रूप में चिह्नित की रों अज्ञात " लेकिन निजी लैन पर।

  3. IPv4 के लिए गुणों पर जाएं ।

  4. " उन्नत ..." बटन पर क्लिक करें।

  5. DNS टैब का चयन करें ।

  6. " इस कनेक्शन के लिए DNS प्रत्यय " : के लिए पाठ बॉक्स में अपना डोमेन नाम दर्ज करें ।

अक्षम करें और फिर स्थान को फिर से पहचानने के लिए एनएलए को कनेक्शन प्राप्त करने में सक्षम करें। कनेक्शन को सक्षम करने के बाद, स्थिति को डोमेन नाम और नेटवर्क श्रेणी में "डोमेन नेटवर्क" में बदलना चाहिए। अपने सेटअप के आधार पर, यह संभव है कि आपको डोमेन को देखने के लिए सभी संबंधित कनेक्शन प्राप्त करने के लिए केवल एक कनेक्शन को "ठीक" करना होगा।

निजी से सार्वजनिक में स्थानांतरित करें

सार्वजनिक रूप से कनेक्शन को चिह्नित करने के लिए एनएलए को मजबूर करने के दो सामान्य तरीके हैं। एक NLA को ब्लॉक करने के लिए फ़ायरवॉल नियम का उपयोग करना है ताकि उसके पास डिफ़ॉल्ट स्थान का उपयोग करने के अलावा कोई विकल्प न हो। अन्य कनेक्शन पर NLA को अक्षम करने के लिए रजिस्ट्री का उपयोग करना है।

फ़ायरवॉल का उपयोग करना

मैंने इसका परीक्षण नहीं किया है, लेकिन सिद्धांत लगता है।

  1. " उन्नत सुरक्षा के साथ विंडोज फ़ायरवॉल " खोलें (यानी wf.msc)।

  2. आउटबाउंड नियमों पर जाएं ।

  3. " नया नियम ..." पर क्लिक करें ।

  4. इन सेटिंग्स का उपयोग करें:

    • नियम प्रकार: कस्टम
    • कार्यक्रम: "सभी प्रोग्राम" चुनें और फिर "कस्टमाइज़ करें ..." पर क्लिक करें। "नेटवर्क स्थान जागरूकता" (संक्षिप्त नाम NlaSvc है) का चयन करें।
    • प्रोटोकॉल और पोर्ट: प्रोटोकॉल प्रकार = कोई भी।
    • स्कोप: स्थानीय आईपी = अपने सभी सार्वजनिक आईपी दर्ज करें। कई आईपी के साथ कनेक्शन के लिए डबल-चेक करें।
    • क्रिया: ब्लॉक
    • प्रोफाइल: सभी
  5. एक बार नियम सक्षम होने के बाद, अक्षम करें और फिर स्थान को फिर से पहचानने के लिए एनएलए को प्राप्त करने के लिए नेटवर्क कनेक्शन को सक्षम करें।

रजिस्ट्री का उपयोग करना

मेरे लिए यह काम नहीं था लेकिन मेरी परिस्थिति आपसे अलग हो सकती है। सही कनेक्शन नंबर ढूँढना थोड़ा हिट या मिस है क्योंकि आपकी अपेक्षा बहुत अधिक प्रविष्टियाँ हैं।

  1. रेजीडिट चलाएं

  2. के लिए जाओ HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}

  3. नीचे आपको 0000, 0001, 0002 आदि लेबल वाली कई कुंजियाँ देखनी चाहिए ... इन्हें देखें और उन एडाप्टर को खोजें जहाँ आप NLA को निष्क्रिय करना चाहते हैं।

  4. प्रत्येक एडेप्टर के लिए, "* NdisDeviceType" नामक एक नया DWORD मान जोड़ें और इसे 1 पर सेट करें (यह सुनिश्चित करें कि आपको नाम की शुरुआत में * मिलता है)।

कठोर हो रही है

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

प्रोफाइल का स्थान है:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

स्रोत


पहला तरीका आशाजनक लगता है। मैं उन अन्य तरीकों के बारे में अनिश्चित हूं, जिनमें एनएलए सेवा को फिर से शुरू करना शामिल है, क्योंकि यह हमेशा समस्या को ठीक करता है, जिससे यह जानना मुश्किल हो जाता है कि क्या सेवा को फिर से शुरू करना समाधान या अन्य कार्रवाई थी। अब मुझे बस एक ऐसी मशीन की जरूरत है जो इस पर परीक्षण करने के लिए गलत कर रही हो ....
मैं कहता हूं कि

@TwistyImpersonator हाँ, विधि 1 वह विधि है जिसका मैंने उपयोग किया है और अभी इसे स्टार्टअप के रूप में चलाया है। इस स्थिति में, यह एक हाइपर- V वर्चुअल होस्ट सर्वर है जिसमें 4 एनआईसी हैं और यह सुनिश्चित करता है कि स्टार्टअप इस प्रकार चलता है कि अब तक उस विशेष प्रणाली के साथ मेरे लिए समस्या का समाधान हो गया है। मुझे लगता है कि नेटवर्क स्विच या राउटर रिबूट और वर्चुअल होस्ट सर्वर को पुनरारंभ करने के बजाय एक और बार हुआ था क्योंकि मैंने अभी स्क्रिप्ट को मैन्युअल रूप से चलाया था और इसने समस्या का समाधान किया। मैंने इस प्रश्न पर गौर किया और मेरे द्वारा उपयोग किए गए समाधान को पोस्ट किया और अन्य उद्धृत संसाधन जो प्रासंगिक और संभावित रूप से उपयोगी दिखे।
दलाल जूस आईटी

मैंने देखा कि आपने इनाम रखा है, लेकिन मुझे लगता है कि मुझे यह महसूस नहीं हुआ कि ओपी का जवाब पाने की कोशिश करने के बजाय यह आपकी ज़रूरत के लिए था। यह जानना अच्छा है।
दलाल जूस आईटी

0

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

services.msc

"नेटवर्क स्थान जागरूकता", स्टार्टअप प्रकार = "अक्षम"


हम्म, यकीन नहीं है कि यह एक डोमेन वातावरण में एक अच्छा विचार है ... या विश्वसनीय और अविश्वसनीय नेटवर्क के बीच लैपटॉप लेते समय। उन स्थितियों में से किसी पर कोई प्रतिक्रिया?
मैं कहता हूं कि मोनिका

मैं अपने डोमेन वातावरण में यह कर रहा हूं। बहुत अच्छा काम करता है। यदि आप एक अविश्वसनीय वातावरण में अपने लैपटॉप का उपयोग कर रहे हैं, तो आपको जगह में अन्य सुरक्षा करने की आवश्यकता है। एनएलए आपको नहीं बचाएगा। यह सब कर सकता है स्वचालित रूप से शेयर अक्षम है। मेरा सुझाव है कि लैपटॉप पर किसी भी शेयर की अनुमति नहीं दी जाएगी।
हैकस्लैश

एनएलए के बिना, आपके सिस्टम डोमेन और निजी प्रोफाइल के बीच कैसे स्विच करते हैं, उदाहरण के लिए जब कोई कर्मचारी लैपटॉप घर ले जाता है?
मैं कहता हूं कि मोनिका

एनएलए के बिना कोई भी प्रोफाइल नहीं है। आप इन प्रोफाइल का उपयोग किस लिए कर रहे हैं?
हैकस्लैश

कई सिस्टम जिन्हें मैं प्रबंधित करता हूं, वे डोमेन नेटवर्क से कनेक्ट होने के दौरान इनबाउंड ट्रैफ़िक की अनुमति देते हैं, लेकिन सिस्टम के डोमेन से बाहर निकल जाने पर ऐसा ट्रैफ़िक अवरुद्ध हो जाता है। यह है कि हम रक्षा-में-गहराई को कैसे लागू करते हैं ... बंदरगाहों को केवल वहीं खोला जाता है जहां जरूरत होती है और हर जगह बंद हो जाती है।
मैं कहता हूं कि मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.