E Skript, deen d’VPN-Fënster opmécht an duerno zéng Sekonnen schléift, rät, an dee Rotschlag ass a béide Richtungen falsch: et fänkt d’Kopie un, ier den Tunnel brauchbar ass, oder et waart, nodeems d’Aarbecht hätt kënnen ufänken. Keng vun deenen zwou Ausgänge seet, ob d’Authentifizéierung fäerdeg ass. Benotz d’Resultat vum Kommando selwer, a stell duerno dem Service eng Fro, déi en tatsächlech beäntwere kann. D’Reiefolleg vun deenen zwou Etappen ass de ganzen Design.

Wat de Kommando tatsächlech mëttelt

Fir en natierleche Windows-Profil, deen dat installéiert Kommandozeil-Wierkzeug versteet, wielt rasdial.exe en genannten Entrée an zeréckgëtt en Exitcode vum Prozess. Dee Code beschreift de Wielversuch: null bedeit, datt d’Verbindung fir dee Profil opgebaut gouf, an net-null, datt en an enger Etapp feelgeschloen ass, déi de Code bezeechent. Liest en als Resultat vun enger Schicht, net vun der Aarbecht.

D’Resultat seet näischt iwwer d’Zouweisung vun enger Adress, privat DNS, bäigesaten Strecken oder d’Erlaabnis, e bestëmmte Server z’erreechen. Dat alles geschitt no enger erfollegräicher Wiel, an all eenzegt dovun kann nach ëmmer falsch sinn. Genau déi Lück ass de Grond, firwat een verbonnen Ikon an eng feelgeschloe Kopie sou dacks zesummen optrieden.

Halt d’Resultat fest, ier eppes anescht leeft

Fänk domat un, ze bestätegen, datt de Profil fir de Kont existéiert, deen d’Aarbecht ausféiert, net nëmme fir de Kont, mat deem du testest:

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

Wiel duerno an lies de Code direkt. PowerShell hält d’natierlecht Resultat am $LASTEXITCODE nëmme bis de nächsten externen Kommando leeft, also zerstéiert en duercherneen ping tëscht der Wiel an der Kontroll de Wäert, deen du liese wollts. Gëff en als Éischt Ärer eegener Variabel zou, a entscheed duerno, wat ze maachen ass.

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

Log de Code zesumme mam net-geheimen Feelertext, well en Entrée, deen feelt, verworf Umeldungsinformatiounen an eng Zäitiwwerschreidung ënnerschiddlech Äntwerte brauchen. D’Tabell verbënnt déi heefeg Resultater mam nächsten Etapp.

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

Bereetschaft ass d’Ressource, net den Tunnel

Wann d’Wiel geléngt, probéier dat, wat d’Aarbecht brauch. Eng Fräigab, en API-Endpunkt oder en Datebankport ass eng besser Bereetschaftsprobe wéi eng ëffentlech Websäit, well eng ëffentlech Säit iwwer all funktionéierende Wee äntwert an näischt iwwer de private Wee bewist. Wiel déi Probe, vun där d’Applikatioun selwer ofhänkt. Eng erfollegräich TCP-Verbindung seet dir, datt Routing a Filterung op sinn, an dat ass de gréissten Deel vun deem, wat déi éischt Schreiw brauch:

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

Begränz d’Versich an notéier, wéi eng Etapp feelgeschloen ass. Verworf Umeldungsinformatiounen sollten d’Skript stoppen, an net eng Widderhuelungsschleef fiddere; en DNS-Numm, deen nach net opgetrueden ass, verdéngt e puer kuerz Widderhuelungen; en Hafen, deen ni opgeet, ass e Routing- oder Politikproblem iwwer dem Client.

Wou d’Verbindung scho virum Ufank vun der Aarbecht bestanen huet, loos s’a Rou. Eng Sitzung ofzebriechen, déi s du net opgemaach hues, ënnerbrécht déi aner Aarbecht vum Benotzer, also notéier, wiem d’Sitzung gehéiert a wéi eng Ofléisung ubruecht ass.

Begränz de Profil op de Kont, deen d’Aarbecht ausféiert

Eng geplangte Aufgab leeft ënner hirer eegener Identitéit an hirer eegener Sitzung, an e Profil, deen op Ärem Desktop funktionnéiert, kann do onsichtbar sinn. Widderhuel d’Sichtbarkeetskontroll an d’Wiel ënner dem Kont vun der Aufgab, ier s du der Zäitplang vertraus. Halt och d’Passwuert vun der Kommandozeil ewech: Argumenter si fir aner Prozesser sichtbar a landen dacks an de Loggen.

Wann d’Ausrollen eng Browser-Ufro, en Touch vun enger Smartcard oder eng MFA-Genehmegung brauch, ass déi Interaktioun Deel vum Design an kann net automatiséiert ginn, andeems een Tastendréck simuléiert. Benotz de ënnerstëtzte Client fir dee Fall a loos de mënschlechen Etapp geschéien.

D’Form vum leschte Skript bleift kuerz: kontrolléier de Profil, wiel, lies de Code, probéier d’Ressource, a fänk duerno d’Aarbecht un. All Etapp äntwert op eng Fro, déi déi vireg net konnt, an keng vun hinnen hänkt vun engem Schlof of.

Ähnlech Artikelen