Windows VPN प्रोफाइल म्हणजे फोनबुकमधील एक नोंद, आणि PowerShell ती नोंद संपादित करण्याचा एक मार्ग आहे. या फरकातून दोन अपयश येतात: सर्व्हरवर आधीच खराब झालेली पूर्व-सामायिक की, आणि अद्ययावत दिसणारा पण पुढील बोगदा ज्याला कॉल करेल तो नसलेला सर्व्हर पत्ता. प्रोफाइलला तुम्ही चालवलेला आदेश न मानता साठवलेली स्थिती मानल्यास दोन्ही सहज दिसतात. हे वर्णन संपादनांच्या क्रमाने जाते: तयार करा, बदला, व्याप्ती, पुन्हा वाचा.

शब्दशः की ने प्रोफाइल तयार करा

Add-VpnConnection L2TP पूर्व-सामायिक की -L2tpPsk द्वारे स्वीकारतो. PowerShell cmdlet ला मिळण्यापूर्वीच स्ट्रिंगवर प्रक्रिया करते, आणि दुहेरी अवतरण चिन्हांमध्ये डॉलर चिन्ह चलाचा संदर्भ सुरू करते तर backtick एस्केप सुरू करते. यांपैकी एकही असलेली की लहान होऊन किंवा वेगळ्या अक्षरासह येते, आणि प्रोफाइल चुकीच्या रहस्यासह यशस्वीपणे तयार होते.

मग अपयश IPsec प्रमाणीकरणात दिसते, जिथे बोगदा वर येण्यास नकार देतो. म्हणूनच अवतरण चिन्हाची चूक सर्व्हर-बाजूची समस्या म्हणून इतक्या वेळा नोंदवली जाते: प्रोफाइल आहे, नाव बरोबर आहे, आणि रहस्य शांतपणे चुकीचे आहे.

How you write itWhat PowerShell doesResult
"p@ss$word!42"Expands $word as a variableStored key is truncated
Double-quoted with an escape characterConsumes the next character as an escapeOne character disappears
'p@ss$word!42'Keeps the literal charactersStored key matches the secret

एकल अवतरण चिन्हे हाच उपाय आहेत, आणि त्यांनी संपूर्ण मूल्य व्यापले पाहिजे. नोंद आधीच खराब की सह असल्यास -Force ती बदलतो, किंवा प्रोफाइल काढून पुन्हा तयार करा आणि नंतर नवीन कनेक्शनने तपासा:

Add-VpnConnection -Name "Contoso-L2TP" -ServerAddress vpn.contoso.example -TunnelType L2tp -L2tpPsk 'n3w$ecret!2026' -AuthenticationMethod Pap -RememberCredential -Force

खरे रहस्य shell इतिहास आणि सामायिक स्क्रिप्टपासून दूर ठेवा. चालवताना मंजूर भांडारातून ते वाचा आणि शब्दशः मूल्याऐवजी चल पाठवा, यामुळे अवतरण चिन्हांची समस्या पूर्णपणे टळते.

पत्ता बदला, नंतर पुन्हा जोडा

Set-VpnConnection स्पेसने वेगळे केलेले घटक घेतो, नेमणूक वाक्यरचना नाही. -ServerAddress = "203.0.113.10" लिहिल्यास अतिरिक्त टोकन जाते, आणि cmdlet एकतर त्रुटी देतो किंवा तुम्हाला नको असलेले काही साठवतो. योग्य रूप -Name "Office L2TP" -ServerAddress 203.0.113.10 आहे.

योग्य वाक्यरचनेसहही बदल आधीच वर असलेल्या बोगद्यापर्यंत पोहोचत नाही. प्रस्थापित कनेक्शन तोडले जाईपर्यंत ज्या पत्त्यावर कॉल केला तो धरून ठेवते, त्यामुळे तेच सत्र तपासल्याने नवीन मूल्याबद्दल काहीही सिद्ध होत नाही. कनेक्शन तोडा, संपादित करा, पुन्हा जोडा, आणि कनेक्शनच्या तपशीलांमध्ये समकक्षाचा पत्ता पुष्टी करा.

काही गुणधर्म जागच्या जागी बदलता येत नाहीत. cmdlet नकार देताच विद्यमान घटक नोंदवा, प्रोफाइल हटवून दुरुस्त मूल्यांसह पुन्हा तयार करा, आणि मूळ बोगदा व प्रमाणीकरण सेटिंग्ज ठेवा. फक्त फोन क्रमांक बदलायचा असलेला स्क्रिप्ट सर्व काही पुन्हा न बनवता RAS API द्वारे फोनबुक नोंद संपादित करू शकतो. कोणताही मार्ग घ्या, नंतर साठवलेल्या मूल्यांची पुष्टी करा, आदेशाच्या शांततेवर विश्वास ठेवू नका.

कोणते फोनबुक संपादित केले ते जाणून घ्या

प्रत्येक वापरकर्त्याचे प्रोफाइल त्या वापरकर्त्याच्या नेटवर्क कनेक्शन्स फोल्डरमध्ये असते, आणि सर्व वापरकर्त्यांचे प्रोफाइल प्रोग्राम डेटा वृक्षाखालील मशीन-व्यापी फोल्डरमध्ये असते. हे वेगवेगळ्या व्याप्तीच्या वेगळ्या नोंदी आहेत, आणि एक संपादित केल्यास दुसरी अस्पर्शित राहते.

म्हणूनच बदल हरवल्यासारखा वाटू शकतो: स्क्रिप्ट एका खात्यात चालली आणि तपासणी दुसऱ्यात. प्रोफाइल मशीनचे असल्यास -AllUserConnection वापरा, आणि पुन्हा वाचताना तीच व्याप्ती तपासा.

तपासणीपूर्वी प्रोफाइल पुन्हा वाचा

Windows ला तुम्ही काय पाठवले नाही, तर त्याने काय साठवले ते विचारा:

Get-VpnConnection -Name "Office L2TP" | Select-Object Name, ServerAddress, TunnelType, AuthenticationMethod

त्या आउटपुटची उद्देशाशी तुलना करा, नंतर नवीन कनेक्शन सुरू करा. डायल अयशस्वी झाल्यास प्रोफाइल पुन्हा बदलण्यापूर्वी Event Viewer मधील RAS क्लायंट लॉग पहा, कारण लॉग अयशस्वी झालेल्या टप्प्याचे नाव सांगतो.

संपादन करताना प्रमाणीकरणाची रचना अभंग ठेवा. जो आदेश पत्ता बदलतो पण प्रमाणपत्र किंवा EAP संरचना सोडून देतो तो संपादनाशी संबंध नसलेला वाटणारा अपयश निर्माण करतो, आणि चालणारे प्रोफाइल आधी निर्यात केल्यास अंदाजाऐवजी पुनर्संचयित करण्यासाठी काहीतरी मिळते.

संबंधित लेख