In skript dat it VPN-finster iepenet en dan tsien sekonden sliept, giet, en de gissing is ferkeard yn beide rjochtingen: it begjint it kopiearjen foardat de tunnel brûkber is, of it wachtet nei’t it wurk al begjinne koe. Gjin fan beide útkomsten fertelt oft de autentikaasje klear is. Brûk it eigen resultaat fan it kommando en freegje de tsjinst dan in fraach dy’t er echt beäntwurdzje kin. De folchoarder fan dy twa stappen is it hiele ûntwerp.

Wat it kommando echt rapportearret

Foar in oarspronklik Windows-profil dat it ynstalleare kommandorigel-ark begrypt, draait rasdial.exe in neamd ynfier en jout in proses-eksitkoade werom. Dy koade beskriuwt de besykjen ta dial: nul betsjut dat de ferbining foar dat profyl oanmakke is, en net-nul dat it mislearre yn in faze dy’t de koade oanjout. Lês it as it resultaat fan ien laach, net fan de taak.

It resultaat seit neat oer adresopdracht, privee DNS, tafoege rûtes of de tastimming om in bepaalde tsjinner te berikken. Dat alles bart nei in slagge dial, en elk dêrfan kin noch ferkeard wêze. Krekt dat gat is de reden dat in ferbûn-ikoan en in mislearre kopy sa faak tegearre foarkomme.

Fêstlizze it resultaat foardat wat oars draait

Begjin mei te befêstigjen dat it profyl bestiet foar it akkount dat de taak draaie sil, net allinnich foar it akkount dêr’t jo mei testen:

Get-VpnConnection -Name "Contoso-Office"
Get-VpnConnection -Name "Contoso-Office" -AllUserConnection

Diel dan en lês de koade fuortendaliks. PowerShell hâldt it oarspronklike resultaat yn $LASTEXITCODE allinnich oant it folgjende eksterne kommando draait, dat in frjemd ping tusken de dial en de kontrôle ferneatiget de wearde dy’t jo lêze woene. Tawize it earst oan jo eigen fariabele en beslút dan wat jo dwaan.

& rasdial.exe "Contoso-Office"
$dial = $LASTEXITCODE
if ($dial -ne 0) { throw "rasdial failed with $dial" }

Log de koade tegearre mei de net-geheime flertekst, want in ûntbrekkend ynfier, wegere oanmeldgegevens en in tiidferrin freegje om ferskillende antwurden. De tabel keppelt de gewoane resultaten oan de folgjende stap.

ResultWhat it indicatesNext step
0The dial completedProbe the resource, do not start writing yet
691The credential or authentication method was rejectedFix the account or method, do not retry in a loop
623The named entry was not foundFix the profile name or its scope
Other non-zeroTransport, timeout or adapter failureRead the message, then check the path

Klearheid is de boarne, net de tunnel

As de dial slagget, test dan it ding dat de taak nedich hat. In dieling, in API-einpunt of in databankpoarte is in bettere klearheidstest as in iepenbiere website, want in iepenbier plak antwurdet troch elk wurkjend paad en bewiist neat oer it privee paad. Kies de test dêr’t de applikaasje sels fan ôfhinget. In slagge TCP-ferbining fertelt jo dat routing en filterjen iepen binne, en dat is it measte wat de earste skriuwerij nedich hat:

Test-NetConnection -ComputerName files.contoso.example -Port 445

Behein de besykjen en registrearje hokker faze mislearre. Wegere oanmeldgegevens soene it skript stopje moatte, net in werhellingslus fiede; in DNS-namme dy’t noch net ferskynd is, fertsjinnet in pear koarte werhellings; in poarte dy’t nea iepenet is in routing- of beliedsprobleem boppe de klant.

Wêr’t de ferbining al bestie foardat de taak begûn, lit it gewurde. It ôfbrekken fan in sesje dy’t jo net iepene hawwe, ûnderbrekt it oare wurk fan de brûker, dus registrearje wa’t de sesje hat en hokker ôfsluting passend is.

Behein it profyl ta it akkount dat de taak draait

In plande taak draait ûnder syn eigen identiteit en sesje, en in profyl dat op jo buroblêd wurket, kin dêr ûnsichtber wêze. Werhelje de sichtberens-kontrôle en de dial ûnder it akkount fan de taak foardat jo it skema fertrouwe. Hâld it wachtwurd ek bûten de kommandorigel: arguminten binne sichtber foar oare prosessen en einigje faak yn logboeken.

As de útrôl in browserprompt, in slim-kaart tik of in MFA-goedkarring fereasket, is dy ynteraksje diel fan it ûntwerp en kin net automatisearre wurde troch toetsen te simulearjen. Brûk de stipe klant foar dat gefal en lit de minsklike stap barre.

De foarm fan it definitive skript bliuwt koart: kontrolearje it profyl, dial, lês de koade, test de boarne en begjin dan it wurk. Eltse stap beantwurdet in fraach dy’t de foarige net koe, en gjinien fan harren fertrout op in sliep.

Relatearre artikelen