विज्ञापन
इस हफ्ते, मैं एक दिलचस्प समस्या से जूझ रहा हूं। कई कार्यालयों या कार्य परिवेशों में, आपको विभिन्न नेटवर्क से जुड़ने के लिए अपनी नेटवर्क सेटिंग्स को फिर से परिभाषित करने की आवश्यकता हो सकती है। उदाहरण के लिए, कुछ लोग अपने लैपटॉप को अपने साथ घर ले जाते हैं और विशेष रूप से उस मशीन के लिए एक स्थिर आईपी सेट अप करते हैं। हालाँकि, चूंकि कार्य नेटवर्क आमतौर पर डीएचसीपी है, इसलिए व्यक्ति को एक स्थिर आईपी या स्वचालित डीएचसीपी के बीच नेटवर्क सेटिंग्स को बदलते रहने की आवश्यकता होती है, जहां वे हैं।
एक अधिक सामान्य समस्या इंजीनियरों या आईटी कर्मचारियों के लिए है जिन्हें अक्सर किसी भवन के भीतर एक छोटे नेटवर्क पर उपकरणों या मशीनों से कनेक्ट करने की आवश्यकता होती है। उस पृथक नेटवर्क से कनेक्ट करने के लिए, आपको अपनी नेटवर्क सेटिंग्स को एक स्थिर आईपी में बदलना होगा। बाद में, जब आप कॉर्पोरेट नेटवर्क से जुड़ते हैं, तो वह फिर से डीएचसीपी में वापस आ जाता है।
मैंने अपने आप को इस स्थिति में अक्सर पाया, और आईपी सेटिंग्स को खोलते हुए नेटवर्क कार्ड पर ब्राउज़ करने में बहुत थक गया और उन संपादनों को बनाते हुए, मैंने तय किया कि एक वीबी स्क्रिप्ट को एक साथ रखने के लिए उच्च समय था जो यह सब एक या दो में करेगा क्लिक करता है। यदि आपने मेरे प्रोग्रामिंग लेखों के साथ अनुसरण किया है, तो आप जानते हैं कि मुझे VB स्क्रिप्ट पसंद हैं। मैंने एक बार इसका इस्तेमाल किया था
एक कंप्यूटर का निर्माण करें हैलोवीन के लिए विंडोज स्क्रिप्ट के साथ एक अजीब बना कंप्यूटर बनाएँबहुत सारे मज़ेदार प्रैंक हैं जिन्हें आप अपने दोस्तों के साथ कंप्यूटर पर खेल सकते हैं। आपने शायद उन तमाम खौफनाक YouTube वीडियो को देखा होगा, जिन्हें लोग डराने के लिए एक-दूसरे को आगे करते हैं ... अधिक पढ़ें , और भी करते थे स्वचालित Microsoft सिंकटॉय सिंकटॉय और वीबी स्क्रिप्ट के साथ डेटा बैकअप टूल कैसे बनाएंहमने MUO में बहुत सारे बैकअप समाधानों को कवर किया है, और ये सभी समाधान बहुत अच्छे हैं, लेकिन यदि आप ऐसे वातावरण में काम कर रहे हैं जो मुफ्त 3 पार्टी सॉफ्टवेयर पैकेजों, या कंपनियों के बारे में सावधान है ... अधिक पढ़ें डेटा बैकअप के लिए।VB स्क्रिप्ट के साथ इस कार्य को पूरा करना भी संभव है, और इसे इतना लचीला बनाना भी संभव है कि यह स्थिर IP पते के लिए उपयोगकर्ता इनपुट को स्वीकार कर सके। इस लेख में, मैं आपको तीन वर्गों में इसे करने का तरीका दिखाता हूँ।
एक नेटवर्क सेटिंग बदलें स्क्रिप्ट बनाना
नेटवर्क सेटिंग्स स्विच करने के लिए इस छोटे से ऐप को बनाने के लिए आपको स्क्रिप्ट के साथ तीन मुख्य कार्य करने होंगे। सबसे पहले स्टेटिक आईपी सेटिंग्स बनाने के लिए स्क्रिप्ट का उपयोग करना है। अगला डीएचसीपी को सक्षम करने के लिए एक स्क्रिप्ट के साथ आना है। अंत में, अंतिम उपयोगकर्ता से पूछना है कि वे किस कार्य को करना चाहते हैं, और फिर इसे पूरा करने के लिए उस फ़ीडबैक का उपयोग करें।
स्थैतिक आईपी सेटिंग्स सेट करने के लिए VB स्क्रिप्ट
याद रखें, विंडोज पीसी पर काम करने के लिए निम्न स्क्रिप्ट को .wsf एक्सटेंशन वाली टेक्स्ट फाइल के रूप में सहेजने की आवश्यकता होती है। निम्न स्क्रिप्ट आपकी नेटवर्क सेटिंग्स को एक विशिष्ट सबनेट मास्क और डिफ़ॉल्ट गेटवॉल के साथ स्थिर आईपी में बदल देगी, जिसमें स्क्रिप्ट में तीन हार्ड कोड होंगे।
इस लेख में सूचीबद्ध सभी कोड नमूनों के लिए, "जोड़ना सुनिश्चित करें"
यहां स्थिर IP परिवर्तन स्क्रिप्ट है:
विकल्प स्पष्ट त्रुटि पर फिर से शुरू अगले डिम objWMIService। मंद objNetAdapter। मंद strComputer। मंद गिरफ्तार। मंद एरसबनेटमैस्क। मंद गिरफ्तार। मंद colNetAdapters। मंद त्रुटिपूर्ण। डिम इरगेटवेज़ स्ट्रॉम्प्यूटर = "।" arrIPAddress = सरणी ("192.168.1.106") arrSubnetMask = सरणी ("255.255.255.0") arrGateway = Array ("192.168.1.1") objWMIService = GetObject ("winmgmts: \\" और strComputer & "\ root \ cimv2") सेट करें ColNetAdapters = objWMIService सेट करें। ExecQuery ("चयन करें * Win32_NetworkAdapterConfiguration से जहां IPEnabled = TRUE") colNetAdapters में प्रत्येक objNetAdapter के लिए इरेटेबलस्टैटिक = objNetAdapter। EnableStatic (arrIPAddress, arrSubnetMask) यदि इरेटेबल नहीं है = 0 तो WScript। इको "आईपी / सबनेट असाइन करने में विफलता।" यदि इरगेटवेज़ = objNetAdapter समाप्त होता है। SetGateways (arrGateway) अगर गलत नहीं है = 0 तो WScript। इको "गेटवे असाइन करने में विफलता।" अंत अगर अगला। WScript। छोड़ना
यह स्क्रिप्ट सेटिंग्स बदलने के लक्ष्य को पूरा करने के लिए विंडोज में विंडोज डब्ल्यूएमआई सेवा का उपयोग करती है। आप IP पते के साथ लोड किए गए तीन निश्चित सरणी चर देख सकते हैं, और फिर जहां सक्रिय "सक्षम" नेटवर्क कार्ड के लिए स्क्रिप्ट की जांच करता है। फिर यह उन आवश्यक परिवर्तनों को करने के लिए "EnableStatic" और "SetGateways" विधियों का उपयोग करता है। जब मैं अपने होम नेटवर्क पर स्क्रिप्ट चलाता हूं (जहां मुझे डीएचसीपी की आवश्यकता होती है), आप देख सकते हैं कि स्क्रिप्ट ने कहां से मेरी एडेप्टर सेटिंग्स को सफलतापूर्वक बदल दिया है, और मैंने अपना इंटरनेट कनेक्शन खो दिया है।
यह साबित करने के बाद कि स्क्रिप्ट का स्थिर-आईपी भाग काम करता है, स्क्रिप्ट लिखने का समय जो एडेप्टर को डीएचसीपी में सेट करेगा, इसलिए यह स्वचालित रूप से नेटवर्क आईपी का पता लगाएगा। यहां वह स्क्रिप्ट है जिसका उपयोग आप कर सकते हैं।
विकल्प स्पष्ट त्रुटि पर फिर से शुरू अगले डिम objWMIService। मंद objNetAdapter। मंद strComputer। मंद त्रुटिपूर्ण strComputer = "।" ObjWMIService = GetObject ("winmgmts: \\" और strComputer और "\ root \ cimv2") सेट करें ColNetAdapters = objWMIService सेट करें। ExecQuery ("चयन करें * Win32_NetworkAdapterConfiguration से जहां IPEnabled = TRUE") colNetAdapters में प्रत्येक objNetAdapter के लिए इरिटेबल = objNetAdapter। EnableDHCP () अगला WScript। छोड़ना
जैसा कि आप देख सकते हैं, यह स्क्रिप्ट बहुत सरल है। यह WMI का उपयोग भी करता है, लेकिन केवल आवश्यक फ़ंक्शन "EnableDHCP" है। यह वर्तमान में सक्षम नेटवर्क एडेप्टर पर किया जाता है। इस स्क्रिप्ट को सहेजने और चलाने के बाद, मेरे एडेप्टर कार्ड सेटिंग्स वापस डीएचसीपी में बदल गईं, और मेरा इंटरनेट कनेक्शन फिर से काम कर रहा था।
इसलिए, अब जब आपको दोनों महत्वपूर्ण कार्यों को करने के लिए कोड मिल गया है, तो इस ट्रिक का अगला भाग उपयोगकर्ता से इनपुट लेना होगा, ताकि यह निर्धारित किया जा सके कि वे किस स्थिर आईपी को चाहते हैं। डीएचसीपी को फिर से सक्षम करने के लिए, आपको उपयोगकर्ता को स्वचालित रूप से आईपी का पता लगाने के लिए "ऑटो" शब्द दर्ज करने की आवश्यकता हो सकती है।
यहां यह है कि ऊपर दी गई दो लिपियों को शामिल करने वाली यह नई, पूर्ण स्क्रिप्ट कैसी दिखती है।
विकल्प स्पष्ट त्रुटि पर फिर से शुरू अगले डिम objWMIService। मंद objNetAdapter। मंद strComputer। मंद गिरफ्तार। मंद एरसबनेटमैस्क। मंद गिरफ्तार। मंद colNetAdapters। मंद त्रुटिपूर्ण। मंद त्रुटिपूर्ण। मंद घुमक्कड़ी। डिम इरफ़ेल्ड इरफ़ेल्ड = 0 strInput = InputBox ("टाइप स्टेटिक आईपी एड्रेस या ऑटो") यदि strInput = "AUTO" तो strComputer = "।" ObjWMIService = GetObject ("winmgmts: \\" और strComputer & "\ root \ cimv2") सेट करें colNetAdapters = objWMIService। ExecQuery ("चयन करें * Win32_NetworkAdapterConfiguration से जहां IPEnabled = TRUE") colNetAdapters में प्रत्येक objNetAdapter के लिए इरिटेबल = objNetAdapter। EnableDHCP () यदि गलत नहीं है = 0 तो WScript। इको "डीएचसीपी विफल की स्थापना।" इरफेल्ड = 1 एंड यदि अगला। Else strComputer = "।" arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = सरणी ("192.168.1.1") objWMIService = GetObject ("winmgmts: \\" और strComputer & "\ root \ cimv2") सेट करें colNetAdapters = objWMIService। ExecQuery ("चयन करें * Win32_NetworkAdapterConfiguration से जहां IPEnabled = TRUE") colNetAdapters में प्रत्येक objNetAdapter के लिए इरेटेबलस्टैटिक = objNetAdapter। EnableStatic (arrIPAddress, arrSubnetMask) यदि इरेटेबल नहीं है = 0 तो WScript। इको "आईपी / सबनेट असाइन करने में विफलता।" त्रुटिपूर्ण = 1 अंत यदि त्रुटिपूर्ण मार्ग = objNetAdapter है। SetGateways (arrGateway) अगर गलत नहीं है = 0 तो WScript। इको "गेटवे असाइन करने में विफलता।" इरफेल्ड = 1 एंड यदि अगला एंड है तो इफफेल्ड = 0 एंड फिर डब्ल्यूस्क्रिप्ट। इको "आईपी सेटिंग्स सफलतापूर्वक संशोधित।" अंत यदि WScript। छोड़ना
यह स्क्रिप्ट उपयोगकर्ता से स्थिर IP या "AUTO" कमांड प्राप्त करने के लिए InputBox फ़ंक्शन का उपयोग करती है।
यदि "AUTO" के अलावा कुछ भी फ़ील्ड में टाइप किया गया है, तो इसका उपयोग कोड के अनुभाग में स्थिर IP स्ट्रिंग के रूप में किया जाएगा जो नेटवर्क एडाप्टर के लिए स्थिर IP सेटिंग्स सेट करने के लिए WMI का उपयोग करता है। "0" पुष्टिकरण के लिए एक जाँच यह भी कह रही है कि सब कुछ ठीक है।

स्क्रिप्ट चलाने के बाद मेरी नेटवर्क कार्ड सेटिंग्स की जाँच करना, मैंने पुष्टि की कि स्क्रिप्ट ने वास्तव में स्थैतिक आईपी सेटिंग में बदलाव किया है।
अब AUTO स्क्रिप्ट का परीक्षण करने के लिए। AUTO के लिए जाँच करने पर "IF" स्टेटमेंट में टाइपिंग AUTO पहली शर्त को संतुष्ट करता है। यह वैकल्पिक स्क्रिप्ट चलाता है जो डीएचसीपी को सक्षम बनाता है।

इसे चलाने के बाद, मैं अपने एडेप्टर सेटिंग्स में चला गया और निश्चित रूप से पर्याप्त था, यह स्वचालित रूप से आईपी एड्रेस प्राप्त करने के लिए सेट किया गया था।
हालांकि यह आपके नेटवर्क कार्ड सेटिंग्स में जाने और स्थैतिक या डीएचसीपी में बदलने के लिए एक सरल पर्याप्त कार्य हो सकता है, अगर आपको वास्तव में ऐसा करना है तो अक्सर यह एक वास्तविक दर्द बन सकता है। आप इसे "netsh" का उपयोग करके कमांड लाइन से कर सकते हैं, लेकिन फिर से, आपको कमांड सिंटैक्स को याद रखना होगा।
उपरोक्त स्क्रिप्ट का उपयोग करने से आप एक त्वरित और आसान उपयोगिता का निर्माण कर सकते हैं जिसका उपयोग आप कभी भी मक्खी पर अपनी नेटवर्क सेटिंग्स को स्विच करने के लिए कर सकते हैं।
सोचें कि आप इस विंडोज स्क्रिप्ट को आजमा सकते हैं? किसी भी अन्य विचारों इसे tweak और यह भी बेहतर बनाने के लिए? नीचे टिप्पणी अनुभाग में अपने विचार और सुझाव साझा करें।
छवि क्रेडिट:शटरस्टॉक के माध्यम से बाइनरी कोड
रयान के पास इलेक्ट्रिकल इंजीनियरिंग में बीएससी की डिग्री है। उन्होंने ऑटोमेशन इंजीनियरिंग में 13 साल, आईटी में 5 साल काम किया है, और अब एक एप्स इंजीनियर हैं। MakeUseOf के पूर्व प्रबंध संपादक, उन्होंने डेटा विज़ुअलाइज़ेशन पर राष्ट्रीय सम्मेलनों में बात की है और इसे राष्ट्रीय टीवी और रेडियो पर चित्रित किया गया है।