विधि 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 कनेक्शन स्थान निर्धारित नहीं कर सकता है, तो वह इसे "अज्ञात" नाम देता है और स्थान को सार्वजनिक के रूप में चिह्नित करता है। यह पब्लिक को चुनता है क्योंकि यह सबसे सुरक्षित है और अगर आप डीएमजेड पर हैं तो आप कुछ भी कम नहीं चाहेंगे।
इसे ठीक करने के दो आसान तरीके हैं। अज्ञात नेटवर्क के डिफ़ॉल्ट स्थान को बदलने के लिए स्थानीय सुरक्षा नीति का उपयोग करता है। दूसरी विधि एनएलए को वह जानकारी प्रदान करने के लिए नेटवर्क कनेक्शन गुणों में बदलाव का उपयोग करती है जो उसे ठीक से स्थान देने की आवश्यकता होती है।
स्थानीय सुरक्षा नीति का उपयोग करना
सावधानी: इसका उपयोग केवल तभी किया जाना चाहिए जब कंप्यूटर में सार्वजनिक लैन पर कोई कनेक्शन नहीं होगा। अन्यथा, आप अपने सार्वजनिक कनेक्शन पर लागू कम सुरक्षित फ़ायरवॉल प्रोफ़ाइल के जोखिम को चलाते हैं।
" स्थानीय सुरक्षा नीति " खोलें ।
बाएं फलक में " नेटवर्क सूची प्रबंधक नीतियां " पर क्लिक करें । (यह चयन विंडोज के पुराने संस्करणों में दफन है।)
दाएँ फलक में " अज्ञात नेटवर्क " पर डबल-क्लिक करें ।
उन कंप्यूटरों के लिए जो केवल निजी नेटवर्क पर मौजूद हैं, " स्थान प्रकार " को " निजी " पर सेट करना ठीक है ।
नेटवर्क कनेक्शन गुणों का उपयोग करना
यह गेटवे IP जोड़ने के बारे में नहीं है क्योंकि यह बहु-होम सर्वर पर ठीक से काम नहीं करता है। इसके बजाय हम एक DNS प्रत्यय जोड़ रहे होंगे ताकि एनएलए डोमेन नियंत्रक को ठीक से पता कर सके कि वह स्थान को "नेटवर्क नेटवर्क" के रूप में कैसे चिह्नित करता है।
नेटवर्क कनेक्शंस पर जाएं (नेटवर्क और शेयरिंग सेंटर से, "एडेप्टर सेटिंग्स बदलें" पर क्लिक करें।)
पर जाएं propertie एक नेटवर्क कनेक्शन "के रूप में चिह्नित की रों अज्ञात " लेकिन निजी लैन पर।
IPv4 के लिए गुणों पर जाएं ।
" उन्नत ..." बटन पर क्लिक करें।
DNS टैब का चयन करें ।
" इस कनेक्शन के लिए DNS प्रत्यय " : के लिए पाठ बॉक्स में अपना डोमेन नाम दर्ज करें ।
अक्षम करें और फिर स्थान को फिर से पहचानने के लिए एनएलए को कनेक्शन प्राप्त करने में सक्षम करें। कनेक्शन को सक्षम करने के बाद, स्थिति को डोमेन नाम और नेटवर्क श्रेणी में "डोमेन नेटवर्क" में बदलना चाहिए। अपने सेटअप के आधार पर, यह संभव है कि आपको डोमेन को देखने के लिए सभी संबंधित कनेक्शन प्राप्त करने के लिए केवल एक कनेक्शन को "ठीक" करना होगा।
निजी से सार्वजनिक में स्थानांतरित करें
सार्वजनिक रूप से कनेक्शन को चिह्नित करने के लिए एनएलए को मजबूर करने के दो सामान्य तरीके हैं। एक NLA को ब्लॉक करने के लिए फ़ायरवॉल नियम का उपयोग करना है ताकि उसके पास डिफ़ॉल्ट स्थान का उपयोग करने के अलावा कोई विकल्प न हो। अन्य कनेक्शन पर NLA को अक्षम करने के लिए रजिस्ट्री का उपयोग करना है।
फ़ायरवॉल का उपयोग करना
मैंने इसका परीक्षण नहीं किया है, लेकिन सिद्धांत लगता है।
" उन्नत सुरक्षा के साथ विंडोज फ़ायरवॉल " खोलें (यानी wf.msc
)।
आउटबाउंड नियमों पर जाएं ।
" नया नियम ..." पर क्लिक करें ।
इन सेटिंग्स का उपयोग करें:
- नियम प्रकार: कस्टम
- कार्यक्रम: "सभी प्रोग्राम" चुनें और फिर "कस्टमाइज़ करें ..." पर क्लिक करें। "नेटवर्क स्थान जागरूकता" (संक्षिप्त नाम NlaSvc है) का चयन करें।
- प्रोटोकॉल और पोर्ट: प्रोटोकॉल प्रकार = कोई भी।
- स्कोप: स्थानीय आईपी = अपने सभी सार्वजनिक आईपी दर्ज करें। कई आईपी के साथ कनेक्शन के लिए डबल-चेक करें।
- क्रिया: ब्लॉक
- प्रोफाइल: सभी
एक बार नियम सक्षम होने के बाद, अक्षम करें और फिर स्थान को फिर से पहचानने के लिए एनएलए को प्राप्त करने के लिए नेटवर्क कनेक्शन को सक्षम करें।
रजिस्ट्री का उपयोग करना
मेरे लिए यह काम नहीं था लेकिन मेरी परिस्थिति आपसे अलग हो सकती है। सही कनेक्शन नंबर ढूँढना थोड़ा हिट या मिस है क्योंकि आपकी अपेक्षा बहुत अधिक प्रविष्टियाँ हैं।
रेजीडिट चलाएं
के लिए जाओ HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
नीचे आपको 0000, 0001, 0002 आदि लेबल वाली कई कुंजियाँ देखनी चाहिए ... इन्हें देखें और उन एडाप्टर को खोजें जहाँ आप NLA को निष्क्रिय करना चाहते हैं।
प्रत्येक एडेप्टर के लिए, "* NdisDeviceType" नामक एक नया DWORD मान जोड़ें और इसे 1 पर सेट करें (यह सुनिश्चित करें कि आपको नाम की शुरुआत में * मिलता है)।
कठोर हो रही है
स्थान प्रोफाइल रजिस्ट्री में रखे जाते हैं और उन्हें हटाने के लिए हानिरहित लगता है और विंडोज को उन्हें फिर से बनाने देता है। आप निश्चित रूप से पहले रजिस्ट्री का बैकअप लेना चाहेंगे और आपको रिमोट (आरडीपी) के बजाय केवीएम के माध्यम से सर्वर से जुड़ने की आवश्यकता होगी। यदि आप इस कदम को चुनते हैं तो मैं कोई जिम्मेदारी नहीं लूंगा क्योंकि मैं इसे मुख्य रूप से संदर्भ के लिए यहां रख रहा हूं।
प्रोफाइल का स्थान है:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
स्रोत