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
XML அந்தப் பதிவில் Data இன் சரியான பெயர்களைக் காட்டுகிறது. 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 செயல்முறைகள் ஒரே போர்ட்டுக்காகப் போட்டியிடலாம், இரண்டாவது பயனுள்ள காரணமின்றி தோல்வியடைகிறது.
மீட்புப் பாதையை நிரூபிக்கவும்
இரு திசைகளையும் வேண்டுமென்றே சோதிக்கவும். கையால் துண்டித்து மீண்டும் அழைப்பு நடக்கவில்லை என்பதை உறுதிசெய்யவும், பின்னர் பிணைய அடாப்டரை முடக்கி இணைப்பு திரும்பியபோது பணி தூண்டப்படுவதை உறுதிசெய்யவும். அந்த இரண்டு சோதனைகள் அடக்கல் விதியையும் உண்மையான தோல்வி நிலையையும் உள்ளடக்குகின்றன, வேறு எதுவும் அதைச் செய்வதில்லை.
அதன் பிறகு இணைப்பு ஐகானுக்குப் பதிலாக பணி வரலாற்றைப் படிக்கவும். பணி எப்போது இயங்கியது, எந்தக் கணக்கைப் பயன்படுத்தியது, செயல் என்ன திருப்பித் தந்தது ஆகியவற்றை வரலாறு பதிவு செய்கிறது, அடுத்த மாதம் அதே இயந்திரம் மீண்டும் விழும்போது அந்தச் சான்றே தேவைப்படுகிறது.