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 પ્રોસેસ એક જ પોર્ટ માટે સ્પર્ધા કરી શકે છે અને બીજી કોઈ ઉપયોગી કારણ વિના નિષ્ફળ જાય છે.

રિકવરી માર્ગ સાબિત કરો

બંને દિશાઓ જાણી જોઈને ચકાસો. હાથે ડિસ્કનેક્ટ કરો અને ખાતરી કરો કે કોઈ ફરી ડાયલ થતું નથી, પછી નેટવર્ક એડેપ્ટર નિષ્ક્રિય કરો અને ખાતરી કરો કે લિંક પાછી આવે ત્યારે કાર્ય ટ્રિગર થાય છે. એ બે પરીક્ષણો દમન નિયમ અને વાસ્તવિક નિષ્ફળતાના કિસ્સાને આવરી લે છે, અને બીજું કંઈ તે કરતું નથી.

પછી જોડાણ આઇકોનને બદલે કાર્યનો ઇતિહાસ વાંચો. ઇતિહાસ નોંધે છે કે કાર્ય ક્યારે ચાલ્યું, કયું ખાતું વાપર્યું અને ક્રિયાએ શું પરત આપ્યું, અને જ્યારે એ જ મશીન આવતા મહિને ફરી તૂટે ત્યારે એ જ પુરાવો જરૂરી હોય છે.

સંબંધિત લેખો