KeePass URL App Starter

Verbindung starten aus KeePass mit Übergabe von Benutzer und Passwort

KeePass erlaubt es ein Programm direkt aus dem Eintrag interaktiv zu starten. Das erlaubt es, eine Verbindung zu einem Host mit Übergabe von Benutzer und Passwort aus KeePass zu öffnen, das externe Programm muss dabei über Kommandozeilen Parameter ausführbar sein, wie es beispielsweise bei PuTTY oder KiTTY der Fall ist.

Die Interaktion wird im Feld URL ermöglicht, die KeePass URL beginnt dabei mit dem Präfix cmd:// gefolgt von einem externen Programm, eingebundenen in Anführungszeichen.

KeePass URL beginnt dabei mit dem Präfix cmd:
cmd://"%ProgramFiles%\PuTTY\putty.exe" {TITLE} -l {USERNAME} -pw {PASSWORD}

Im Titel-Feld des KeePass Eintrag wird der Hostname oder die IP Adresse eingetragen. Die URL wird zusammengesetzt aus dem Feld Title, User name und Password, die als KeePass Variablen {TITLE}, {USERNAME}, und {PASSWORD} an PuTTY übergeben werden, mit -l für Username und -pw für das Passwort, für den Host eignet sich das Feld TITLE.

Das URL-Feld kann jede gültige URL ausführen, für die ein Protokollhandler definiert ist. Auf den meisten Systemen sind mindestens die Protokolle http://, https://, ftp://, ssh:// und mailto: definiert. KeePass unterstützt alle von Windows unterstützten Protokolle.

Wenn man PuTTY global (d. h. mit dem Windows Explorer) für ssh:// URLs registriert hat, verwendet KeePass PuTTY automatisch auch für ssh:// URLs. Ab Windows 10 Version 1909 kann auch der OpenSSH Client installiert werden, unter Apps & Features – Optional Features.

Anstelle einer URL können auch Befehlszeilen über das URL-Feld ausgeführt werden. Um KeePass mitzuteilen, dass die eingegebene Zeile eine Befehlszeile ist, stellt man cmd:// voran. Wenn beispielsweise WinSCP ausgeführt werden soll, könnte die URL folgendermaßen aussehen:

cmd://"%ProgramFiles%\WinSCP\winscp.exe" /script=%USERPROFILE%\host.cfg

Quellenlink: KeePass URL Field Capabilities

OpenVPN Verbindungsscript

Scripts ausführen bei OpenVPN Verbinden und Trennen

OpenVPN Client für Windows mit Skriptdatei ausführen, ermöglicht beim Start von VPN-Verbindungen, die Netzlaufwerke zu Freigaben auf Server zu erstellen. Es ergeben sich weitere Möglichkeiten, wie das Ausführen von Anmeldescripte, Drucker Umleitungen oder automatisierte Aktualisierung. Dieses Tutorial zeigt die Installation und Anwendung von OpenVPN Verbindungsskripte.

so wird’s gemacht

Das OpenVPN GUI für Windows kann von der Community Webseite hier heruntergeladen werden. Bei der Installation wird das Verzeichnis OpenVPN unter %USERPROFILE% angelegt, darunter der Ordner config, in diesem die Konfigurationsdateien (.ovpn) liegen, die aus dem OpenVPN GUI mit Datei importieren gespeichert werden.

OpenVPN-in-Taskleiste

Mit Rechtsklick über dem OpenVPN Symbol in der Taskleiste öffnet man das Kontextmenü mit der Option Datei importieren, die gespeichert wird unter: %USERPROFILE%\OpenVPN\config

openvpn-config

Die Batch Dateien müssen im Verzeichnis config sein und denselben Namen haben wie der Dateiname der Konfiguration (.ovpn), dabei muss _up hinzugefügt werden, wie hier der Dateiname beginnt mit VPNConfig und angehängt _up, gibt VPNConfig_up.bat.

openvpn verbindungsskript

Der Inhalt der Batchdatei für den Verbindungsaufbau kann wie folgt aussehen, damit nach dem Verbinden mit OpenVPN ein Netzlaufwerk zum Server gemappt wird.

VPNConfig_up_bat
Abbildung: VPNConfig_up.bat

Es wird mit VPNConfig_up.bat das Netzlaufwerk I: zum Server tower gemappt, hier in diesem Beispiel mit Domänen Anmeldung city.local als Benutzer user mit Passwort password. Möchte man kein sichtbares Passwort im Batch stehen haben, entfernt man dieses, dabei wird die Passwort Eingabeaufforderung aufgerufen.

VPNConfig_down_bat
Abbildung: VPNConfig_down.bat

Nach trennen der OpenVPN Verbindung werden durch den Batch VPNConfig_down.bat die Netzlaufwerke wieder getrennt.

explorer-openvpn-config

Die Batchdateien müssen im selben Verzeichnis sein, hier im Benutzerprofil unter OpenVPN zusammen mit der ovpn-Datei im Verzeichnis config.

  Wenn man vor dem importieren die Konfigurationsdatei umbenennt, hier VPNConfig.ovpn zB. CityOffice.ovpn, dann erscheint im Kontextmenü bei Verbinden im OpenVPN GUI dieser Name zum Ziel. Die Batchdateien müssen dabei vor _up und _down dieselben Namen haben.

  Damit der Servername bei net use aufgelöst wird, wird in der ovpn-Datei (VPNConfig.ovpn) der Eintrag dhcp-option DNS editiert.

dhcp-option DNS 192.168.3.110

In diesem Beispiel ist der DNS 192.168.3.110 im entfernten Netzwerk, zu diesem wir uns mit OpenVPN verbinden. Ist im Netzwerk kein DNS vorhanden, muss anstelle des Hostname die IP Adresse angegeben werden.

In den OpenVPN – Einstellungen findet man die Möglichkeit zur Festlegung für den Ort der Konfigurationsdateien und Logdateien, hier kann der Pfad zu den Dateien geändert werden, ebenfalls gibt es die Möglichkeit die Erweiterung (.ovpn) zu bestimmen. Die Anpassung der Pfade kann nützlich sein, um beispielsweise bei der Nutzung von Roaming Profile, mit Anlegen des Ordners für die OpenVPN Verbindungen unter %APPDATA%, oder bei der Verwendung von Offlineordner, kann dieser individuell festgelegt werden.

OpenVPN-Einstellungen
Abbildung: OpenVPN Einstellungen

In den OpenVPN Einstellungen können nötigenfalls die Werte für Skriptdateien geändert werden, im Bereich bei Skript-Timeout bei Timeout für Preconnect-Skript, in diesem Fall die Batchdatei VPNConfig_up.bat, und VPNConfig_down.bat bei Timeout für Disconnect-Skript.

Beispiel für ein Netlogon Verbindungsskript (xxxxxxxx_up.bat):
@echo off
timeout 5
REM Netzwerk Drucker verbinden
rundll32 printui.dll,PrintUIEntry /in /n \\tower\laserjet_office
REM Netzlaufwerk mappen
net use I: \\tower\office /persistent:no /user:city\max pass123
REM Warten zwei pings
ping localhost -n 2 > nul
REM Pop-Up Fenster mit Nachricht Willkommen
echo msgbox"Willkommen %USERNAME% bei %USERDOMAIN%.",vbInformation , "Nachricht"> %temp%\msg.vbs 
%temp%\msg.vbs
REM Willkommen Nachricht löschen
erase %temp%\msg.vbs