Automatisation d’application avec KIXTART

Automatisation d'application avec KIXTART 1

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)

Memento Kixstart

A propos Olivier Olejniczak

Cofondateur de SynerGeek.fr. Passionné d'informatique, je m'intéresse plus particulièrement aux technologies de virtualisation et de stockage. J'apprécie la liberté et la quasi-absence de frontières à mon imagination qu'offre l'OpenSource et Linux. Professionnellement, je travaille exclusivement avec les outils Microsoft. Les pieds bien sur terre et ancrés dans le quotidien de l'entreprise, j'aime faire partager mes découvertes et contribuer à un meilleur usage des technologies. Vous aussi, rejoignez-nous sur Synergeek et partagez votre expérience!

Je vous propose également...

JSON dans les scripts Bash avec Ticktick 2

JSON dans les scripts Bash avec Ticktick

Je vais vous présenter l’ami du WGET par excellence. Imaginez le contexte suivant : sur …

Compiler un script PowerShell avec PS2EXE 3

Compiler un script PowerShell avec PS2EXE

J’utilise au quotidien le langage PowerShell pour gérer des serveurs Windows. Ce langage est à …

3 commentaires

  1. 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 !

  2. 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