Je cherchais à automatiser la saisie du mot de passe dans l’interface graphique du client OpenVPN sous Windows.
Une fois encore, mon langage de script favori KIXTART m’a apporté le solution.
Le script se présente ainsi: initialisation des variables globales
[shell] $VPNClientPath=”C:Program FilesOpenVPN”$VPNClientCommand=”binopenvpn-gui.exe”
$VPNClientParameters=” –connect ”
$VPNProfileDirectory=”config”
$VPNProfileExtension=”.ovpn”
$ProfileFileName = “@USERID-to-srvipcoptanger”+$VPNProfileExtension
$ProfileFilePath = $VPNClientPath+$VPNProfileDirectory[/shell]
On se place dans le répertoire du profil OpenVPN (sinon problème de chemin)
cd $ProfileFilePath
On lance la commande de connexion au VPN
$Command = $VPNClientPath+$VPNClientCommand+$VPNClientParameters+$ProfileFileName
run $command
On attend que la fenêtre de saisie du mot de passe apparaisse à l’écran
[shell]$whilestf = 1$lock = 1
WHILE $whilestf <> 0
sleep 1
$lock = $lock + 1
$whilestf = SetFocus(“OpenVPN”)
LOOP[/shell]
On purge le contenu du buffer clavier
FLUSHKB
On ecrit le mot de passe dans le champs de saisie actif de la fenetre active
sendkeys(“S3cr3T”)
On valide le formulaire de saisie
sendkeys(“{ENTER}”)
On termine le script.
exit 0
Evidemment, une fois le script validé et pour que le mot de passe ne soit pas lisible avec le premier éditeur de texte venu, je compile le script avec KIX2EXE.
Vous trouverez une documentation à KIXTART (en français) ici. Elle est organisée en 21 chapitres. Elle commence par une présentation générale de KiXtart puis aborde différents aspects du langage (conditions, boucles, variables, macros, …). On y trouve comment manipuler des chaines de caractères, lire et écrire dans des fichiers texte, modifier la base de registre, monter des lecteurs réseaux, synchroniser l’horloge de Windows, précompiler des scripts, réaliser de l’automatisation COM, …
Autre point abordé dans cette documentation, l’extension KiXorms. Cette extension permet de créer des contrôles Windows (des fenêtres, des zones de saisies, des boutons, …).
Très utile également, ce document A4 résumant toutes les commandes KIXTART (cf ci-dessous)
Salut,
Je ne connaissais pas KIX. C’est génial !
J’ai dû modifié le script pour qu’il fonctionne chez moi.
J’ai rajouté “BREAK ON” au début (on sait jamais, ça peut sauver de faire un Ctrl-C)
J’ai rajouté “SLEEP 1” entre le FLUSHKB et le SENDKEYS parce-que ça n’avait pas le temps d’être pris en compte. Du coup le mot-de-passe était refusé par le VPN.
Dès que j’aurais un moment j’écrirai un petit tuto sur mon blog (je n’oublierai pas de linker votre article).
Merci encore !
essaye celui-ci:
http://www.be-root.com/downloads/kixtart/kixtart.pdf
Bonjour Olivier,
J’ai découvert par hasard votre post en fouillant le web car je cherchais comme vous un logiciel permettant d’automatiser des actions logicielles ( idem cmd password sur open vpn ) et vu que kixstart existe ( pas besoin de ré inventer la roue ).
Cependant je voulais lire de la doc avant de commencer ….mais le lien en Français semble mort ou inactif
http://www.xesos.net/docs/kixtart.pdf
The requested URL /docs/kixtart.pdf was not found on this server.
Savez vous ou l’on peut trouver cette doc ailleurs.
Merci par avance.
8) Mytekos