Script zum Verbinden von VPN und Netzlaufwerken
Hey Leute,
vorab eine kurze Beschreibung meines Problems (in der Hoffnung, dass mir irgendjemand helfen kann; ist nämlich ein wenig verzwickt):
In unserer Firma sind viele Mitarbeiter oft im Außendienst und verwenden deshalb ein Notebook für die Arbeit von unterwegs.
Auf ihre persönlichen Netzlaufwerke innerhalb unseres Netzwerks greifen sie ganz simpel per VPN zu. Das funktioniert auch super, wäre da nicht die unverzichtbare (wer kennt sie nicht) Richtlinie zum regelmäßigen Ändern des Kennworts.
Da es doch immer ziemlich mühsam ist, jeden Monat ca. 20 Mitarbeitern ihre VPN-Einstellungen zu aktualisieren und die Netzlaufwerke neu zu mappen, sitze ich nun schon seit einer ganzen Weile an einer Softwarelösung, mit deren Hilfe unsere Mitarbeiter das selbstständig machen können.
Mein Batch-Script funktioniert einwandfrei (muss mich selbst loben! :D). Zu Beginn des Scripts gibt man Domänen-Namen, sowie -Kennwort und den Standort zur Auswahl der richtigen VPN-Verbindung ein (wir haben 3 Stück). Jedenfalls funktioniert das Batch-Script super, jedoch hat man es natürlich nicht gerne, wenn das eingegebene Passwort im Klartext angezeigt wird (was sich mit Batch ja nur sehr schwer und mit einigem Aufwand umgehen lässt).
Also habe ich nun mit Visual Basic Express schnell ein Tool mit GUI gebastelt, das die eingebenen Variablen LT_USERNAME, LT_PASSWORD (das wird selbstverständlich unkenntlich eingegeben) und LT_LOCATION an die Batch-Datei weitergeben soll, die dann anhand dieser Variablen durchläuft und das VPN so wie die Netzlaufwerke verbindet.
Ich bekomme es allerdings einfach nicht hin, der Batch-Datei diese Variaben zu übergeben, sodass diese die dann auch verwenden kann.
Danke schon mal im Voraus!
vorab eine kurze Beschreibung meines Problems (in der Hoffnung, dass mir irgendjemand helfen kann; ist nämlich ein wenig verzwickt):
In unserer Firma sind viele Mitarbeiter oft im Außendienst und verwenden deshalb ein Notebook für die Arbeit von unterwegs.
Auf ihre persönlichen Netzlaufwerke innerhalb unseres Netzwerks greifen sie ganz simpel per VPN zu. Das funktioniert auch super, wäre da nicht die unverzichtbare (wer kennt sie nicht) Richtlinie zum regelmäßigen Ändern des Kennworts.
Da es doch immer ziemlich mühsam ist, jeden Monat ca. 20 Mitarbeitern ihre VPN-Einstellungen zu aktualisieren und die Netzlaufwerke neu zu mappen, sitze ich nun schon seit einer ganzen Weile an einer Softwarelösung, mit deren Hilfe unsere Mitarbeiter das selbstständig machen können.
Mein Batch-Script funktioniert einwandfrei (muss mich selbst loben! :D). Zu Beginn des Scripts gibt man Domänen-Namen, sowie -Kennwort und den Standort zur Auswahl der richtigen VPN-Verbindung ein (wir haben 3 Stück). Jedenfalls funktioniert das Batch-Script super, jedoch hat man es natürlich nicht gerne, wenn das eingegebene Passwort im Klartext angezeigt wird (was sich mit Batch ja nur sehr schwer und mit einigem Aufwand umgehen lässt).
Also habe ich nun mit Visual Basic Express schnell ein Tool mit GUI gebastelt, das die eingebenen Variablen LT_USERNAME, LT_PASSWORD (das wird selbstverständlich unkenntlich eingegeben) und LT_LOCATION an die Batch-Datei weitergeben soll, die dann anhand dieser Variablen durchläuft und das VPN so wie die Netzlaufwerke verbindet.
Ich bekomme es allerdings einfach nicht hin, der Batch-Datei diese Variaben zu übergeben, sodass diese die dann auch verwenden kann.
Danke schon mal im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 441165
Url: https://administrator.de/contentid/441165
Ausgedruckt am: 20.11.2024 um 13:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
in VB.NET:
Du könntest bei einer GUI wie folg vorgehen:
Start GUI
- PW über GUI ermitteln/eingeben und vorhalten
- über Prozessaufruf von RASDIAL.EXE das VPN starten
- über Prozessaufruf von NET USE dann die Laufwerke verbinden.
Ende der GUI
Quasi alles in einem Programm abwickeln ;)
SH
in VB.NET:
Dim _prcProcess As New System.Diagnostics.Process
_prcProcess.StartInfo.FileName = _strProg 'hier die CMD.EXE o.Ä. eintragen
_prcProcess.StartInfo.Arguments = _strCommand 'hier die Argumente
_prcProcess.StartInfo.RedirectStandardOutput = True
_prcProcess.StartInfo.UseShellExecute = False
Console.BackgroundColor = ConsoleColor.Green
Console.Clear()
_prcProcess.Start()
_prcProcess.WaitForExit()
Start GUI
- PW über GUI ermitteln/eingeben und vorhalten
- über Prozessaufruf von RASDIAL.EXE das VPN starten
- über Prozessaufruf von NET USE dann die Laufwerke verbinden.
Ende der GUI
Quasi alles in einem Programm abwickeln ;)
SH
Zitat von @chgorges:
Weil der TE wahrscheinlich bisher sehr sicherheitsbewusst die AD-Kennwörter im Klartext in der Batchdatei gespeichert hat. Anders kann ich es mir auch nicht erklären.
Das Ganze wird aber nur dann nötig, wenn das Kennwort im AD geändert wird, das lokale Benutzerprofil dies aber nicht mitbekommt, das das Notebook z.B. keine Verbindung zum AD hat. Wenn das Kennwort direkt mit Verbindung zum AD geändert wird, sollten die bestehenden Mappings weiterhin funktionieren.Weil der TE wahrscheinlich bisher sehr sicherheitsbewusst die AD-Kennwörter im Klartext in der Batchdatei gespeichert hat. Anders kann ich es mir auch nicht erklären.
Da er schreibt, die Mitarbeiter sind oft im Außendienst, ging ich davon aus sie sind auch regelmäßig im Büro und müssen eben dann ihr Kennwort ändern. Wenn die Notebooks natürlich sehr lange nicht mehr im Netzwerk eingestöpselt werden, wird so ein Skript evtl nötig.
Alternativ könnte bei bestehender VPN-Verbindung auch der DC erreichbar gemacht werden.