Windows VPN ഓണായി നിലനിർത്തുക: വിച്ഛേദന ഇവന്റിൽ rasdial പ്രവർത്തിപ്പിക്കുക
RasClient 20226, 20227 എന്നിവ കുറയ്ക്കൽ അടയാളപ്പെടുത്തുന്നു; 631 എന്നാൽ ഒരു വ്യക്തി അത് ചെയ്തു എന്നാണ്. ആദ്യ രണ്ടിലും rasdial പ്രവർത്തിപ്പിക്കുക, ഒരു ക്രെഡൻഷ്യൽ സൂക്ഷിക്കുക, എക്സിറ്റ് കോഡ് വായിക്കുക.
Windows-ന്റെ VPN ക്ലൈന്റിന് വീണ്ടും ഡയൽ ചെയ്യാനുള്ള നയമൊന്നും ലഭ്യമല്ല, അതിനാൽ അർദ്ധരാത്രിയിൽ വീഴുന്ന കണക്ഷൻ രാവിലെ ഭക്ഷണത്തിനും ഓഫ് ആയിരിക്കും. കണക്ഷൻ വിച്ഛേദം നിരീക്ഷിച്ച് rasdial പ്രവർത്തിപ്പിക്കുന്ന ഷെഡ്യൂൾ ചെയ്ത ടാസ്ക് മൂന്നാം കക്ഷി ക്ലൈന്റ് ഇല്ലാതെ ആ വിടവ് നികത്തുന്നു. ടാസ്ക് ഒരു ഓപ്പറേറ്റർ പോലെയാണോ ഒരു ലൂപ്പ് പോലെയാണോ പ്രവർത്തിക്കുന്നത് എന്നത് മൂന്ന് വിശദാംശങ്ങളെ ആശ്രയിച്ചിരിക്കുന്നു: ഏത് ഇവന്റുകളുമായി അത് ഒത്തുപോകുന്നു, ഏത് ക്രെഡൻഷ്യലുകൾ കാണാനാകും, ഫലത്തോട് എന്ത് ചെയ്യുന്നു. മൂന്നിൽ ഒന്നും ബുദ്ധിമുട്ടല്ല, അവയിലൊന്ന് വിട്ടുപോകുന്നതാണ് എന്നെന്നും ഡയൽ ചെയ്യുന്ന ടാസ്ക് സൃഷ്ടിക്കുന്നത്.
ടൈമർ തെറ്റായ ട്രിഗർ ആകുന്നത് എന്തുകൊണ്ട്
ടണൽ ഓഫ് ആണോ ഇല്ലേ എന്നത് നോക്കാതെ ടൈമർ സ്വന്തം ഷെഡ്യൂൾ അനുസരിച്ച് ഡയൽ ചെയ്യുന്നു. അത് ആർക്കും ആവശ്യമില്ലാത്ത ശ്രമങ്ങൾ സൃഷ്ടിക്കുന്നു, ജോലി സെഷനിനിടയിലുള്ള ശ്രമം അതിനെ തടസ്സപ്പെടുത്തിയേക്കാം. ഇവന്റ് ട്രിഗർ കണക്ഷൻ അവസ്ഥ മാറുമ്പോൾ മാത്രം പ്രവർത്തിക്കുന്നു, അത് വിലകുറഞ്ഞതും ചിന്തിക്കാൻ എളുപ്പവുമാണ്. ഇവന്റ് കാരണവും കൊണ്ടുവരുന്നു, ആ കാരണമാണ് നെറ്റ്വർക്ക് പരാജയത്തെ ഉദ്ദേശ്യപൂർവ്വം വിച്ഛേദിക്കുന്ന വ്യക്തിയിൽ നിന്ന് വേർതിരിക്കുന്നത്.
ആ വ്യത്യാസമാണ് ഉപയോഗപ്രദമായ ടാസ്കും ഓരോ വൈകുന്നേരവും ഉപയോക്താവുമായി പോരാടുന്ന ടാസ്കും തമ്മിലുള്ള വ്യത്യാസം. പ്രവർത്തനം മാത്രം വിവരിക്കുന്ന പാചകക്കുറിപ്പുകളിൽ സാധാരണയായി കാണാത്ത ഭാഗവുമാണത്.
ഇവന്റുകളുടെ ജോഡിയും അടിച്ചമർത്തേണ്ടതും
Remote Access Service ക്ലൈന്റ് ജീവിതചക്ര റെക്കോർഡുകൾ RasClient പ്രൊവൈഡറിന് കീഴിലുള്ള Application ലോഗിലേക്ക് എഴുതുന്നു. 20226 അവസാനിച്ച ഒരു കണക്ഷനെ അടയാളപ്പെടുത്തുന്നു, 20227 പരാജയപ്പെട്ട ഒരു ശ്രമത്തെയും, അതിനാൽ രണ്ടിൽ ഏതിനും പുതിയ ഡയലിനെ ന്യായീകരിക്കാം. ടാസ്കിലെ മറ്റെല്ലാം ആ രണ്ട് ഐഡന്റിഫയറുകൾ കൃത്യമായി ഒത്തുപോകുന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു. അവ വർഷങ്ങളായി സ്ഥിരമാണ്, അതിനാൽ അവയെ അടിസ്ഥാനമാക്കിയ പാചകക്കുറിപ്പുകൾ ഇപ്പോഴും പ്രചാരത്തിലുണ്ട്, എന്നാൽ പ്രൊവൈഡറിന്റെയോ ഐഡന്റിഫയറുകളുടെയോ പേര് മാറ്റുന്ന ബിൽഡ് ക്വറി ഒന്നും തിരികെ നൽകാത്തതാക്കുന്നു. ഓരോ ഫീച്ചർ അപ്ഡേറ്റിനും ശേഷം പ്രൂഫ് ഘട്ടം വീണ്ടും പ്രവർത്തിപ്പിക്കുക, ടാസ്ക് പ്രവർത്തിക്കുന്നത് നിലയ്ക്കുന്നതുവരെ കാത്തിരിക്കുന്നതിന് പകരം.
ഒരു അവസാനീകരണം ഒഴിവാക്കേണ്ടതുണ്ട്. 631 പിശക് അർഥം ഉപയോക്താവ് പോർട്ട് വിച്ഛേദിച്ചു എന്നാണ്, ആ നിമിഷത്തിലെ വീണ്ടും ഡയൽ ഇപ്പോൾ ഉദ്ദേശ്യപൂർവ്വം നെറ്റ്വർക്ക് മാറ്റിയ വ്യക്തിയുമായി പോരാടുന്നു. ഒഴിവാക്കൽ സ്ക്രിപ്റ്റിലല്ല, ട്രിഗർ ഫിൽട്ടറിൽ വയ്ക്കുക, ടാസ്ക് ഒട്ടും ആരംഭിക്കാതിരിക്കാൻ. അത് ഒരു ഇവന്റ് ഐഡിയിൽ മാത്രം ബാധകമാകണം, കാരണം EventData പ്രിഡിക്കേറ്റ് നിർദ്ദിഷ്ട എലിമെന്റ് നിലനിൽക്കുമ്പോൾ മാത്രമേ ഒത്തുപോകുന്നുള്ളൂ, പങ്കിട്ട വ്യവസ്ഥ മറ്റേ ഐഡിയുടെ എല്ലാ ഇവന്റുകളും നിശബ്ദമായി ഒഴിവാക്കും. ഫിൽട്ടർ എഴുതുന്നതിന് മുൻപ് യഥാർത്ഥ റെക്കോർഡിൽ നിന്ന് എലിമെന്റിന്റെ പേര് വായിക്കുക:
Get-WinEvent -LogName Application -MaxEvents 5 -FilterXPath "*[System[Provider[@Name='RasClient'] and EventID=20226]]" | Select-Object -First 1 -ExpandProperty ToXml
ആ റെക്കോർഡിലെ കൃത്യമായ Data പേരുകൾ XML കാണിക്കുന്നു. ErrorCode സാധാരണ അക്ഷരവിന്യാസമാണ്, മറ്റൊന്ന് ഉപയോഗിക്കുന്ന റെക്കോർഡിന് താഴെയുള്ള ഫിൽട്ടറിൽ ആ പേര് മാറ്റേണ്ടതുണ്ട്.
<QueryList><Query Id="0" Path="Application"><Select Path="Application">*[System[Provider[@Name='RasClient'] and (EventID=20226 or EventID=20227)]] and (EventData[Data[@Name='ErrorCode'] != '631'] or System[EventID=20227])</Select></Query></QueryList>
അത് ട്രിഗറിന്റെ കസ്റ്റം ഫിൽട്ടറിൽ ഒട്ടിക്കുക, ട്രിഗർ ആകുന്നതിന് മുൻപ് അത് ക്വറിയായി തെളിയിക്കുക. അതേ XPath PowerShell-ൽ നിന്ന് ജീവനുള്ള ലോഗിനെതിരെ പ്രവർത്തിക്കുന്നു, ടാസ്ക് ചരിത്രം ഇപ്പോഴും ഉൾപ്പെടാത്തതിനാൽ അത് എന്തുമായി ഒത്തുപോകുന്നു എന്ന് കാണാനുള്ള വിലകുറഞ്ഞ വഴിയാണത്.
Get-WinEvent -LogName Application -MaxEvents 40 -FilterXPath "*[System[Provider[@Name='RasClient'] and (EventID=20226 or EventID=20227)]] and (EventData[Data[@Name='ErrorCode'] != '631'] or System[EventID=20227])" | Select-Object TimeCreated,Id,Message
നിശബ്ദമായി ഒന്നുമായി ഒത്തുപോകാത്ത ട്രിഗർ പ്രവർത്തിച്ച് പരാജയപ്പെടുന്ന ടാസ്ക് പോലെ തന്നെ കാണപ്പെടുന്നു. രണ്ടും "ഓട്ടോമേഷൻ പ്രവർത്തിക്കുന്നില്ല" എന്ന് പ്രത്യക്ഷപ്പെടുന്നു, ഏത് പകുതിയാണ് വിട്ടുപോയതെന്ന് ഒന്നും പറയുന്നുമില്ല. ആദ്യം ക്വറിയുടെ ഔട്ട്പുട്ട് പരിശോധിക്കുക, അത് രണ്ട് സാഹചര്യങ്ങളെയും ഒരു ഘട്ടത്തിൽ വേർതിരിക്കുന്നു.
പാസ്വേഡ് ടൈപ്പ് ചെയ്യാൻ ആരുമില്ലാത്തതിനാൽ ഡയൽ പരാജയപ്പെടുന്നു
കണക്ഷന്റെ പേരോടെ ആക്ഷൻ rasdial പ്രവർത്തിപ്പിക്കുന്നു. പ്രൊഫൈലിൽ കാഷെ ചെയ്ത ക്രെഡൻഷ്യലുകൾ ഇല്ലെങ്കിൽ, പ്രോംപ്റ്റിനോട് ഉത്തരം നൽകാൻ ആരുമില്ലാത്തതിനാൽ ഡയൽ ഉടൻ പരാജയപ്പെടുന്നു. ശരിയായി ട്രിഗർ ചെയ്ത ടാസ്ക് ദൃശ്യമായി ഒന്നും ചെയ്യാതിരിക്കാനുള്ള ഏറ്റവും സാധാരണ കാരണം ഇതാണ്, അതിനാൽ ട്രിഗർ തൊടുന്നതിന് മുൻപ് ഇത് പരിശോധിക്കുക. കമാൻഡ് പ്രോംപ്റ്റിൽ നിന്ന് കൈകൊണ്ട് ഡയൽ ചെയ്യുന്നത് ക്രെഡൻഷ്യൽ പ്രശ്നത്തെ ഷെഡ്യൂളിംഗ് പ്രശ്നത്തിൽ നിന്ന് വേർതിരിക്കുന്നു.
ടാസ്ക് പ്രവർത്തിക്കുന്ന അക്കൗണ്ടിന് കീഴിൽ ക്രെഡൻഷ്യലുകൾ ഒരിക്കൽ സംരക്ഷിക്കുക, ആ അക്കൗണ്ടിനെ ഡിസൈനിന്റെ ഭാഗമാക്കുക. SYSTEM ആയി പ്രവർത്തിക്കുന്ന ടാസ്കിന് നിങ്ങളുടെ ഇന്ററാക്ടീവ് അക്കൗണ്ട് കാഷെ ചെയ്ത ക്രെഡൻഷ്യലുകൾ വായിക്കാനാവില്ല, മറ്റൊരാളായി പ്രവർത്തിക്കുന്ന ടാസ്കിനും കഴിയില്ല. പേര് യൂസർ ഫീൽഡിലെ ഏതെങ്കിലും ഡൊമെയ്ൻ പ്രിഫിക്സ് ഉൾപ്പെടെ പ്രൊഫൈലുമായി കൃത്യമായി ഒത്തുപോകണം.
rasdial
rasdial "Office VPN"
(Start-Process rasdial -ArgumentList '"Office VPN"' -Wait -PassThru -NoNewWindow).ExitCode
ആദ്യ കമാൻഡ് Windows അറിയുന്ന പേരുകൾ ലിസ്റ്റ് ചെയ്യുന്നു. രണ്ടാമത്തേത് കാഷെ ചെയ്ത ക്രെഡൻഷ്യലുകൾ ഉപയോഗിച്ച് പേര് പ്രകാരം ഡയൽ ചെയ്യുന്നു, മൂന്നാമത്തേത് PowerShell ആക്ഷൻ ഉപയോഗിക്കേണ്ട രൂപമാണ്, കാരണം അത് കാത്തിരുന്ന് ടാസ്കിന് രേഖപ്പെടുത്താവുന്ന ഒരു മൂല്യം തിരികെ നൽകുന്നു.
ജാലകത്തിന് പകരം എക്സിറ്റ് കോഡ് വായിക്കുക
കാത്തിരിക്കാതെ ഒരു പ്രോസസ് ആരംഭിക്കുന്ന ടാസ്ക് പ്രോസസ് നിലവിലുള്ള ഉടൻ വിജയം റിപ്പോർട്ട് ചെയ്യുന്നു. ഒരു സെക്കൻഡിന് ശേഷം പരാജയപ്പെടാവുന്ന ഡയലിന് ആ വിധി വിലയില്ലാത്തതാണ്. എക്സിറ്റ് കോഡിനായി കാത്തിരിക്കുന്നത് ആക്ഷനെ യഥാർത്ഥ ഫലമാക്കുന്നു. ടാസ്ക് ചരിത്രം ഒറ്റയ്ക്ക് പ്രോസസ് ആരംഭിച്ചു എന്ന് മാത്രം കാണിക്കുന്നു, ടണൽ ഉയർന്നു എന്ന് ഒരിക്കലും കാണിക്കുന്നില്ല.
ഓരോ പ്രവർത്തനത്തിലും ടൈംസ്റ്റാമ്പോടെ മൂല്യം രേഖപ്പെടുത്തുക. തകരാറിന് ശേഷമുള്ള ഒറ്റ പരാജയം സാധാരണമാണ്, എന്നാൽ അതേ കോഡോടെ തുടർച്ചയായി മൂന്ന് പരാജയങ്ങൾ നെറ്റ്വർക്കിലല്ല, ക്രെഡൻഷ്യലുകളിലേക്കോ പ്രൊഫൈലിലേക്കോ വിരൽ ചൂണ്ടുന്നു. ആ മാതൃകയാണ് ചരിത്രത്തെ വായിക്കാൻ യോഗ്യമാക്കുന്നത്.
ഇൻഷുറൻസായി ഒരു ചെറിയ ആവർത്തന ഇടവേള ചേർക്കുക, അത് ഇവന്റ് ട്രിഗറുമായി എങ്ങനെ ഇടപെടുന്നു എന്ന് വ്യക്തമാക്കുക. അഞ്ച് മിനിറ്റ് നേരം ഓരോ മിനിറ്റിലും ആവർത്തിക്കുന്നത് ഇന്റർനെറ്റ് ടണലിനൊപ്പം തിരികെ വന്നപ്പോൾ രണ്ടാം ശ്രമം നൽകുന്നു, ക്രമീകരണങ്ങളിൽ, "ടാസ്ക് ഇതിനകം പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ, ഇനിപ്പറയുന്ന നിയമം ബാധകമാണ്" എന്നതിൽ, ആവർത്തനം നടന്നുകൊണ്ടിരിക്കുന്ന ഡയലുമായി ഒത്തുപോകാതിരിക്കാൻ ടാസ്ക് "പുതിയ ഇൻസ്റ്റൻസ് ആരംഭിക്കരുത്" എന്ന് ആഗ്രഹിക്കുന്നു. ആ ക്രമീകരണമില്ലാതെ രണ്ട് rasdial പ്രോസസുകൾ ഒരേ പോർട്ടിനായി മത്സരിക്കാം, രണ്ടാമത്തേത് ഉപയോഗപ്രദമായ കാരണമൊന്നുമില്ലാതെ പരാജയപ്പെടുന്നു.
വീണ്ടെടുക്കൽ പാത തെളിയിക്കുക
ഇരു ദിശകളും ഉദ്ദേശ്യപൂർവ്വം പരീക്ഷിക്കുക. കൈകൊണ്ട് വിച്ഛേദിച്ച് വീണ്ടും ഡയൽ നടക്കുന്നില്ലെന്ന് സ്ഥിരീകരിക്കുക, തുടർന്ന് നെറ്റ്വർക്ക് അഡാപ്റ്റർ പ്രവർത്തനരഹിതമാക്കി ലിങ്ക് തിരികെ വരുമ്പോൾ ടാസ്ക് പ്രവർത്തിക്കുന്നുവെന്ന് സ്ഥിരീകരിക്കുക. ആ രണ്ട് പരിശോധനകൾ അടിച്ചമർത്തൽ നിയമത്തെയും യഥാർത്ഥ പരാജയ കേസിനെയും ഉൾക്കൊള്ളുന്നു, മറ്റൊന്നും അത് ചെയ്യുന്നില്ല.
അതിന് ശേഷം കണക്ഷൻ ഐക്കണിന് പകരം ടാസ്ക് ചരിത്രം വായിക്കുക. ടാസ്ക് എപ്പോൾ പ്രവർത്തിച്ചു, ഏത് അക്കൗണ്ട് ഉപയോഗിച്ചു, ആക്ഷൻ എന്ത് തിരികെ നൽകി എന്നിവ ചരിത്രം രേഖപ്പെടുത്തുന്നു, അടുത്ത മാസം അതേ യന്ത്രം വീണ്ടും വീഴുമ്പോൾ ആ തെളിവാണ് ആവശ്യമായിരിക്കുന്നത്.