Windows haitoi sera yoyote ya kupiga simu tena kwa mteja wake wa VPN, kwa hiyo muunganisho unaokatika usiku wa manane bado umezimwa wakati wa kifungua kinywa. Kazi iliyopangwa inayofuatilia kukatika na kuendesha rasdial hufunga pengo hilo bila mteja wa mtu wa tatu. Ikiwa kazi inafanya kazi kama opereta au kama mzunguko inategemea maelezo matatu: ni matukio gani inayolinganisha, ni kitambulisho gani inaweza kuona, na hufanya nini na matokeo. Hakuna moja kati ya matatu iliyo ngumu, na kukosa lolote kati yao ndilo linalozalisha kazi inayopiga simu milele.

Kwa nini kipima muda ni kichocheo kibaya

Kipima muda hupiga simu kwa ratiba yake yenyewe bila kujali kama handaki imezimwa au la. Hiyo huzalisha majaribio ambayo hakuna mtu aliyeyahitaji, na jaribio wakati wa kikao cha kazi linaweza kukikatiza. Kichocheo cha tukio huwaka tu pale muunganisho unapobadilisha hali, jambo ambalo ni la bei nafuu na rahisi kufikiria. Tukio pia hubeba sababu, na sababu ndiyo inayotenganisha kushindwa kwa mtandao na mtu anayekatisha kwa makusudi.

Tofauti hiyo ni tofauti kati ya kazi yenye manufaa na ile inayopigana na mtumiaji kila jioni. Pia ni sehemu ambayo kwa kawaida haipo katika mapishi yanayoeleza tu kitendo.

Jozi ya matukio, na lile linalopaswa kukandamizwa

Mteja wa Huduma ya Ufikiaji wa Mbali huandika rekodi za mzunguko wa maisha kwenye kumbukumbu ya Application chini ya mtoa huduma RasClient. 20226 huashiria muunganisho ulioisha, na 20227 huashiria jaribio lililoshindwa, kwa hiyo lolote kati yao linaweza kuhalalisha simu mpya. Kila kitu kingine katika kazi kinategemea kulinganisha vitambulisho hivyo viwili kwa usahihi. Vimekuwa thabiti kwa miaka, ndiyo sababu mapishi yaliyojengwa juu yao bado yanazunguka, lakini ujenzi unaobadilisha jina la mtoa huduma au vitambulisho hufanya swali lisirudishe chochote. Endesha tena hatua ya uthibitisho baada ya kila sasisho la kipengele badala ya kusubiri kazi iacha kuwaka.

Mwisho mmoja unahitaji kutengwa. Hitilafu 631 inamaanisha mtumiaji alikatisha bandari, na kupiga simu tena wakati huo kunapigana na mtu ambaye amebadilisha mtandao kwa makusudi sasa hivi. Weka kutengwa kwenye kichujio cha kichocheo na si kwenye hati, ili kazi isianze kabisa. Lazima kihusishe kitambulisho kimoja cha tukio pekee, kwa sababu EventData kihusishi hulingana tu pale kipengele kilichotajwa kipo, na kifungu cha pamoja kingeacha kimya kila tukio la kitambulisho kingine. Soma jina la kipengele kutoka rekodi halisi kabla ya kuandika kichujio:

Get-WinEvent -LogName Application -MaxEvents 5 -FilterXPath "*[System[Provider[@Name='RasClient'] and EventID=20226]]" | Select-Object -First 1 -ExpandProperty ToXml

XML huonyesha majina kamili ya Data katika rekodi hiyo. ErrorCode ni tahajia ya kawaida, na rekodi inayotumia kitu kingine inahitaji jina hilo kubadilishwa kwenye kichujio kilicho chini.

<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>

Bandika hiyo kwenye kichujio maalum cha kichocheo, na uthibitishe kama swali kabla ya kuwa kichocheo. XPath hiyo hiyo huendeshwa kutoka PowerShell dhidi ya kumbukumbu hai, ambayo ni njia ya bei nafuu ya kuona inalingana na nini wakati historia ya kazi bado haijashirikiwa.

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

Kichocheo ambacho kimya hakilingani na chochote kinaonekana kama kazi inayoendeshwa na kushindwa. Vyote viwili vinaonekana kama "uendeshaji otomatiki haufanyi kazi", na hakuna kinachosema ni nusu ipi inayokosekana. Angalia kwanza matokeo ya swali, kwa sababu hutenganisha hali hizo mbili kwa hatua moja.

Simu inashindwa kwa sababu hakuna mtu wa kuandika nenosiri

Kitendo huendesha rasdial kwa jina la muunganisho. Wakati wasifu hauna kitambulisho kilichohifadhiwa, simu inashindwa mara moja kwa sababu hakuna mtu wa kujibu ombi. Hii ni sababu ya kawaida zaidi ya kazi iliyochochewa ipasavyo kufanya chochote kinachoonekana, kwa hiyo angalia hili kabla ya kugusa kichocheo. Kupiga simu kwa mkono kutoka kwenye kidokezo cha amri hutenganisha tatizo la kitambulisho na tatizo la upangaji.

Hifadhi kitambulisho mara moja chini ya akaunti ambayo kazi itaendeshwa nayo, na ufanye akaunti hiyo kuwa sehemu ya muundo. Kazi inayoendeshwa kama SYSTEM haiwezi kusoma kitambulisho kilichohifadhiwa na akaunti yako shirikishi, na kazi inayoendeshwa kama mtu mwingine pia haiwezi. Jina pia lazima lilingane kabisa na wasifu, ikiwa ni pamoja na kiambishi chochote cha kikoa kwenye sehemu ya mtumiaji.

rasdial
rasdial "Office VPN"
(Start-Process rasdial -ArgumentList '"Office VPN"' -Wait -PassThru -NoNewWindow).ExitCode

Amri ya kwanza huorodhesha majina ambayo Windows inayajua. Ya pili hupiga simu kwa jina kwa kutumia kitambulisho kilichohifadhiwa, na ya tatu ni umbo ambalo kitendo cha PowerShell kinapaswa kutumia, kwa sababu husubiri na kurudisha thamani ambayo kazi inaweza kurekodi.

Soma msimbo wa kutoka badala ya dirisha

Kazi inayoanzisha mchakato bila kusubiri huripoti mafanikio mara tu mchakato unapokuwepo. Kwa simu inayoweza kushindwa sekunde moja baadaye, hukumu hiyo haina thamani. Kusubiri msimbo wa kutoka hufanya kitendo kuwa matokeo halisi. Historia ya kazi peke yake huonyesha tu kwamba mchakato ulianza, kamwe haionyeshi kwamba handaki ilipanda.

Rekodi thamani na muhuri wa muda kwenye kila uendeshaji. Kushindwa mara moja baada ya kukatika ni kawaida, wakati kushindwa mara tatu mfululizo kwa msimbo huo huo kunaashiria kitambulisho au wasifu na si mtandao. Mtindo huo ndio unaofanya historia ifae kusomwa.

Ongeza muda mfupi wa kurudia kama bima, na ueleze wazi jinsi unavyoshirikiana na kichocheo cha tukio. Kurudia kila dakika kwa dakika tano hutoa jaribio la pili wakati intaneti iliporudi pamoja na handaki, na chini ya Mipangilio, "Ikiwa kazi tayari inaendeshwa, sheria ifuatayo inatumika", kazi inataka "Usianzishe nakala mpya" ili kurudia kusiingiliane na simu inayoendelea. Bila mpangilio huo, michakato miwili ya rasdial inaweza kushindana kwa bandari moja na ya pili inashindwa bila sababu yoyote ya manufaa.

Thibitisha njia ya kurejesha

Jaribu pande zote mbili kwa makusudi. Katisha kwa mkono na uthibitishe kuwa hakuna kupiga simu tena, kisha zima adapta ya mtandao na uthibitishe kuwa kazi inawaka wakati kiungo kinarudi. Majaribio hayo mawili hufunika kanuni ya ukandamizaji na hali halisi ya kushindwa, na hakuna kingine kinachofanya hivyo.

Baada ya hapo soma historia ya kazi badala ya aikoni ya muunganisho. Historia hurekodi kazi ilipoendeshwa, akaunti gani ilitumia na kitendo kilirudisha nini, na hiyo ndiyo ushahidi unaohitajika wakati mashine hiyo hiyo inapoanguka tena mwezi ujao.

Makala zinazohusiana