नया VPN दिखाई दिया, प्रमाणीकरण काम कर गया, और दो साल से मशीन पर रहने वाला एक तृतीय-पक्ष VPN उसी रीबूट में गायब हो गया। परिनियोजन लॉग में किसी ने इसका ज़िक्र नहीं किया, क्योंकि परिनियोजन में किसी ने इसे संबोधित नहीं किया। पैकेज ने वैश्विक फ़ोन बुक बदल दी थी, और दूसरा कनेक्शन उसी फ़ाइल में एक प्रविष्टि था। यह एक कॉपी ऑपरेशन है जो ठीक वैसे ही व्यवहार करता है जैसे एक कॉपी ऑपरेशन को व्यवहार करना चाहिए।

समाधान बेहतर कॉपी नहीं है। समाधान फ़ाइल की कॉपी न करना है।

फ़ोन बुक में वास्तव में क्या होता है

फ़ोन बुक कनेक्शन परिभाषाओं का एक कंटेनर है, प्रोफ़ाइल नहीं। प्रति-उपयोगकर्ता प्रविष्टियाँ उपयोगकर्ता प्रोफ़ाइल के अंतर्गत रहती हैं, और सभी-उपयोगकर्ता प्रविष्टियाँ मशीन-व्यापी ProgramData पथ के अंतर्गत रहती हैं, इसलिए जो परिनियोजन उस फ़ाइल को लिखता है वह एक साथ हर स्थानीय उपयोगकर्ता को छूता है। वही फ़ाइल अन्य विक्रेताओं द्वारा बनाई गई प्रविष्टियाँ भी रखती है, और वहीं से साथी-नुकसान आता है।

कनेक्शन परिभाषा भी पूरी कहानी नहीं है। रूट, DNS नीति, विश्वसनीय CA सामग्री और पहचान अलग-अलग स्वामियों द्वारा उपलब्ध कराए जाते हैं।

पता लगाएँ कि प्रोफ़ाइल किस दायरे का है

कुछ भी लिखने से पहले दोनों दायरों को सूचीबद्ध करें। Get-VpnConnection वर्तमान उपयोगकर्ता की प्रविष्टियाँ लौटाता है और Get-VpnConnection -AllUserConnection मशीन-व्यापी प्रविष्टियाँ लौटाता है, और वही नाम दोनों में अलग सेटिंग्स के साथ मौजूद हो सकता है। तय करें कि आपका परिनियोजन किस दायरे का मालिक है और उसे लिख लें, क्योंकि गलत दायरा अपडेट करने से उपयोगकर्ता पुरानी प्रोफ़ाइल से जुड़ता रहता है जबकि आपका बदलाव ऐसी फ़ाइल में पड़ा रहता है जिसे कोई नहीं पढ़ता। SYSTEM के रूप में चलने वाला एक निर्धारित कार्य भी लॉग-इन उपयोगकर्ता से अलग प्रोफ़ाइल सेट देखता है।

स्वामी का नाम देना वह कदम है जो अगले इंजीनियर को पूरी फ़ाइल की कॉपी दोहराने से रोकता है।

नामित कनेक्शन बनाएँ या अपडेट करें, और कुछ नहीं

मूल Windows प्रोफ़ाइल के लिए, Add-VpnConnection एक प्रविष्टि बनाता है, और -AllUserConnection मशीन-व्यापी दायरा चुनता है। इसे पहले -WhatIf के साथ चलाएँ, ताकि पूर्वावलोकन आपके ट्रांसक्रिप्ट में जाए, उपयोगकर्ता की शिकायत में नहीं:

Add-VpnConnection -Name 'Office VPN' -ServerAddress 'vpn.example.com' -TunnelType Ikev2 -AuthenticationMethod Eap -EapConfigXmlStream $approvedEapXml -AllUserConnection -WhatIf

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

जब प्रविष्टि पहले से मौजूद हो, उसकी सेटिंग्स की तुलना करें और उसे Set-VpnConnection से अपडेट करें, उसे हटाकर फिर से बनाने के बजाय। हटाना ही वह तरीका है जिससे काम करने वाला कॉन्फ़िगरेशन ऐसे फ़ील्ड खो देता है जिन्हें किसी ने दस्तावेज़ नहीं किया, और जिससे असंबंधित प्रविष्टियाँ व्यापक सफ़ाई में फँस जाती हैं।

जाँचें कि कोई दूसरी प्रबंधन प्रणाली है जो अगले नीति रीफ़्रेश पर पुरानी प्रोफ़ाइल वापस रख देगी। पायलट यहाँ cmdlet की तुलना में अधिक बार विफल होते हैं।

ऐसी मशीन पर पायलट करें जिसमें पहले से दूसरा VPN है

मशीन-व्यापी असंबंधित प्रविष्टि वाली परीक्षण मशीन चुनें, परिनियोजित करें, फिर तीन चीज़ें सत्यापित करें: नई प्रोफ़ाइल इच्छित दायरे में दिखती है, प्रमाणीकरण एक निजी संसाधन तक पहुँचता है, और असंबंधित प्रविष्टि अभी भी जुड़ती है। दो बार और परिनियोजित करें और पुष्टि करें कि दूसरा रन केवल अपनी प्रोफ़ाइल बदलता है। वह तीसरी जाँच ऐसा पैकेज पकड़ती है जो अपनी प्रविष्टि के लिए निष्क्रिय है और बाकी सब कुछ के लिए विनाशकारी है।

हटाना उसी नियम का पालन करता है: Remove-VpnConnection -Name 'Office VPN' -AllUserConnection एक प्रविष्टि को सेवानिवृत्त करता है और फ़ाइल का बाकी हिस्सा अछूता छोड़ देता है।

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

संबंधित लेख