En Trennskript schléit meeschtens aus engem Grond fehl: et adresséiert de falsche Besëtzer. En Tunnel, deen duerch d’OpenVPN-GUI vun der Communautéit verwalt gëtt, gehéiert zur Sessioun vun där GUI, en Tunnel, deen e Windows-Service gestart huet, gehéiert zum Service, an OpenVPN Connect gehéiert zu kengem vun deenen zwee. Gitt dës Kontrollen der Rei no duerch a stoppt, wann de Besëtzer onkloer ass. Eng Kill-Kommando schécken, well de Besëtzer zweedeiteg war, ass genee de Wee, op deem aus dem Trenne vun engem Profil en Ausfall vum ganze Site gëtt.

Bei enger GUI-verwalteter Verbindung ass déi nëtzlech Kommando eng Noriicht un d’GUI, keen Signal un openvpn.exe.

Fir d’éischt de Besëtzer bestëmmen

Kuckt, wéi ee Programm tatsächlech de verbonnene Status weist, ier Dir eppes schreift. En Ikon an der Infobereich heescht, datt d’GUI-Sessioun en huet. En Service-Andrag heescht, datt de Service en huet. En eegene Fënster vun enger App mat hirer eegener Profillëscht heescht keng vun deenen zwee, an et gëllt hir eege versionsspezifesch Interface.

Kontrolléiert och de Kont an d’Desktop-Sessioun. Eng geplangten Aufgab, déi als anere Benotzer oder an enger net-interaktiver Sessioun leeft, soll net als Steierung vun der GUI ugeholl ginn, déi eng ageloggt Persoun gesäit. Dës Diskrepanz produzéiert eng Kommando, déi propper endet an näischt ännert, an dat ass déi deierst Aart vu Feeler, fir aus engem Log erauszefannen.

Dann dem Besëtzer seng eege Trennung schécken

Wann d’GUI um Beispillwee installéiert ass an et e Profil mam Numm office gëtt, ass déi ganz Kommando eng Zeil:

"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command disconnect office

Ersetzt se duerch Ären tatsächlechen Installatiounswee an den exakten Numm vun der Konfiguratioun, inklusiv Grouss- a Klengschreiwen, wéi d’GUI se weist. D’Kommando-Dokumentatioun vum Projet lëscht déi ënnerstëtzt GUI-Steierungen op, an dëst Beispill gehéiert nëmmen zur OpenVPN GUI — et ass keng Kommando fir all App, déi OpenVPN am Numm huet.

Bei engem servicebesëtzten Tunnel ass déi richteg Steierung de Service, net d’GUI-Binär. Kuckt de installéierte Service an d’Profiler, déi en verwalt, ier Dir eppes stoppt, well e Stopp kann e puer Tunnel op eemol erofhuelen an Dir kritt keen Resultat pro Profil zréck.

Kontrolléiert, datt soss näischt fält

D’GUI dokumentéiert och eng Kommando disconnect_all, an hire Beräich ass genee de Grond, firwat se dat falscht Geschier ass fir e Skript, dat nëmmen office stoppe soll. Wann Dir an d’Versuchung kommt, se fir Einfachheet ze benotzen, freet, wat soss op där Maschinn verbonnen ass a wéi de Benotzer et mierken.

taskkill /F /IM openvpn.exe ass op zwou Aarte méi schlecht. Et wielt Prozesser nom Numm vun der ausféierbarer Datei an et forcéiert d’Beendigung, also dréckt et weder e Profilnumm nach dem Besëtzer seng normal Trennungsofleef aus. Dat eng propper Ofschaltung nennen verstoppt béid Problemer hannert engem eenzegen Exit-Status.

Wéi ee Wee Dir och hëlt, iwwerpréift de Konsequenzberäich virun der Ännerung: lëscht d’verbonnene Profiler op, notéiert, wéi eng solle bestoen, a kontrolléiert se duerno nach eng Kéier.

Bestätegt den Zoustand, net den Exit-Code

No der Ufro vun der Trennung liest den Zoustand vun der genannter Verbindung iwwer hire Besëtzer, amplaz dem Rückgabwäert vun der Kommando ze vertrauen. Wann den nächste Schrëtt no der Ofbau dat Netzwerk brauch, waart op dës Zoustandsännerung mat engem expliziten Timeout, amplaz unzehuelen, d’Botzen wier fäerdeg, wéi de Prozess zréckkoum. En Skript, deen der Ofbau davunleeft, wäert ëmmer erëm fehlschloen, an d’VPN kritt d’Schold.

Wann den Zoustand ni ännert, ass de Besëtzer wahrscheinlech net deen, deen Dir adresséiert hutt. Iwwerpréift d’Sessioun an de Kont nach eng Kéier, ier Dir zu enger méi staarker Kommando gräift.

Wat an de Log gehéiert

Logt den Numm vum Profil, de Besëtzer, deen Dir adresséiert hutt, an de Startkontext, plus den entstanenen Zoustand. Schott net d’komplett Konfiguratioun oder Umeldungsinformatiounen an den Aufgabelog, a logt d’Kommandozeil net, wann se e Wee op eng Datei mat Geheimnisser enthält.

Eng Fehlernoriicht, déi de Profil an de Kontext nennt, genüügt, datt déi nächst Persoun de Problem reproduzéiert. En Log, deen nëmmen en allgemengen Exit-Code festhält, schéckt se zréck op den Ufank, an do fänkt d’Roden erëm un.

Ähnlech Artikelen