Les options de la ligne de commande

Les options de la ligne de commande pour automatiser les tâches de KeePass.


Général

Vous pouvez passer un chemin de fichier dans la ligne de commande pour dire à KeePass d'ouvrir immédiatement ce fichier après un démarrage.

Les paramètres peuvent être soit préfixés en utilisant un tiret (-) soit deux tirets (--). Sous Windows, une barre oblique (/) est une alternative. Les préfixes sont équivalents ; qu'importe celui que vous utilisez.

Le fichier de la base de données. L'emplacement du fichier de la base de données est passé comme argument. Seulement un fichier de base de données est permis. Si le chemin contient un espace, alors il doit être entouré entre doubles quotes (").

Le mot de passe. Le mot de passe peut être passé en utilisant l'option -pw:. Afin de passer 'abc' comme mot de passe, vous ajouteriez l'argument suivant à la ligne de commande : -pw:abc. Remarquez qu'il ne doit pas y avoir d'espace entre le ':' et le mot de passe. Si votre mot de passe contient un espace, alors vous devez l'entourer entre des doubles quotes. Par exemple : -pw:"mon mot de passe secret".

L'utilisation de l'option -pw: n'est pas recommandée pour des raisons de sécurité (le système d'exploitation permet la lecture des options de la ligne de commande d'autres applications).

En passant l'option -pw-stdin, KeePass lit le mot de passe depuis le flux d'entrée standard (StdIn). Cette option est censée passer en programmation le mot de passe à KeePass. Pour saisir un mot de passe à la main, il est recommandé d'utiliser plutôt la boîte de dialogue normale de la clé principale (parce que dans cette boîte de dialogue, le mot de passe est caché par des puces/astérisques et il est chiffré par la protection de la mémoire du processus).

Fichier clé. Pour prendre en charge l'emplacement du fichier clé, le paramètre -keyfile: existe. Les mêmes règles qu'au-dessus s'appliquent, spécifiez juste l'emplacement du fichier clé : -keyfile:D:\pwsafe.key. Vous devez également mettre entre doubles quottes la valeur, si elle contient des caractères d'espace, tabulation ou autres whitespace.

Présélection. Afin de juste présélectionner un fichier clé, utilisez l'option -preselect:. Par exemple : si vous verrouillez votre base de données avec un mot de passe et un fichier clé, mais que vous souhaitez simplement saisir votre mot de passe (donc, sans sélectionner manuellement le fichier clé), votre ligne de commande ressemblerait à ceci :

KeePass.exe "C:\My Documents\MaBaseDeDonnees.kdbx" -preselect:C:\pwsafe.key

KeePass montrerait alors une invite pour le mot de passe de la base de données, mais dans la liste de fichiers clé, le fichier C:\pwsafe.key est déjà sélectionné. Quand on utilise le paramètre -preselect:, KeePass par défaut active le paramètre de fichier clé et positionne le focus sur la fenêtre d'édition du mot de passe.

Remarquez la différence ! Le paramètre -preselect: présélectionne juste le fichier clé pour vous et affiche l'invite de login (ouverture de session). En revanche, le paramètre -keyfile: ne vous invite pas à saisir le mot de passe (peut-être manquant).

Autre. L'argument -minimize de la ligne de commande fait que KeePass démarre réduit. Cette option peut ne pas fonctionner quand KeePass s'exécute avec Mono (dû à un bug dans Mono).

L'argument -auto-type de la ligne de commande n'engendre que les autres instances de KeePass déjà ouvertes accomplissent une saisie automatique globale.

Si le commutateur -readonly est présent dans la ligne de commande, alors KeePass ouvrira la base de données en mode lecture seule.

Le commutateur -lock force KeePass à s'ouvrir en mode verrouillé (c'est-à-dire qu'on ne vous demandera pas immédiatement la clé principale quand on passe également le chemin de la base de données).

L'ordre des arguments est arbitraire.


Exemples d'utilisation

Ouvrez le fichier de la base de données 'C:\My Documents\MaBaseDeDonnees.kdbx' (KeePass vous demandera de lui fournir le mot de passe et/ou le chemin de l'emplacement du fichier clé) :

KeePass.exe "C:\My Documents\MaBaseDeDonnees.kdbx"

Si vous avez une base de données verrouillée avec le mot de passe 'abc', alors vous pouvez l'ouvrir comme ceci :

KeePass.exe "C:\My Documents\MaBaseDeDonnees.kdbx" -pw:abc

Si votre clé USB se monte toujours sur le lecteur F: et que vous ayez verrouillé votre base de données avec un fichier clé sur la clé USB, alors vous pouvez ouvrir la base de données comme ceci :

KeePass.exe "C:\My Documents\MaBaseDeDonneesAvecFichier.kdbx" -keyfile:F:\pwsafe.key

Si vous avez verrouillé votre base de données en utilisant un mot de passe et un fichier clé, alors vous pouvez combiner les deux paramètres et ouvrir votre base de données comme suit :

KeePass.exe "C:\My Documents\MaBaseDeDonneesAvecDeux.kdbx" -pw:abc -keyfile:F:\pwsafe.key

Vous avez verrouillé votre base de données en utilisant un mot de passe et un fichier clé, mais vous souhaitez uniquement que le fichier clé soit présélectionné (c'est-à-dire que vous souhaitez obtenir l'invite pour le mot de passe), votre ligne de commande ressemblerait à ceci :

KeePass.exe "C:\My Documents\MaBaseDeDonneesAvecDeux.kdbx" -preselect:F:\pwsafe.key


Démarrer KeePass en utilisant un fichier batch

Les fichiers batch peuvent être utilisés pour démarrer KeePass. Généralement vous souhaitez spécifier certains des paramètres répertoriés ci-dessus. Vous pouvez théoriquement simplement mettre la ligne de commande (c'est-à-dire le chemin de l'application et les paramètres) à l'intérieur d'un fichier batch, mais ceci n'est pas recommandé, car la fenêtre de commande restera ouverte jusqu'à ce que KeePass soit fermé. La méthode suivante est recommandée à la place :

START "" KeePass.exe ..\MaBdd.kdbx -pw:MonMDPSecret

Cette commande START exécutera KeePass (qui ouvre le fichier ..\MaBdd.kdbx en utilisant le mot de passe MonMDPSecret). KeePass est censé être dans le même répertoire (répertoire de travail) que le fichier batch, sinon vous devez spécifier un chemin différent.

START exécute la ligne de commande donnée et se ferme aussitôt, c'est-à-dire qu'elle n'attend pas jusqu'à ce que l'application soit terminée. Par conséquent, la fenêtre de commande disparaîtra après que KeePass a été démarré.

Veuillez remarquer les deux doubles quotes (") après la commande START. Ces doubles quotes sont nécessaires si le chemin de l'application contient des doubles quotes (dans l'exemple ci-dessus, les doubles quotes peuvent également être supprimées). Si vous souhaitez en apprendre davantage à propos de la syntaxe de la commande START, alors saisissez START /? dans la fenêtre de commande.


Fermeture/Verrouillage de KeePass en utilisant un fichier batch

Pour fermer toutes les instances en cours d'exécution, appelez KeePass.exe avec le paramètre '--exit-all' :

KeePass.exe --exit-all

Toutes les fenêtres de KeePass essaieront de se fermer. Si une base de données a été modifiée, alors KeePass vous demandera si vous souhaitez l'enregistrer ou non. Si dans tous les cas vous souhaitez l'enregistrer (c'est-à-dire forcer la sortie sans confirmation d'une boîte de dialogue), alors activez l'option 'Enregistrer automatiquement quand on ferme/verrouille la base de données' dans 'Outils' → 'Options...' → onglet 'Avancé'.

L'instance de KeePass qui a été créée par la commande ci-dessus n'est pas visible (c'est-à-dire qu'elle n'affiche pas de fenêtre principale) et se terminera aussitôt après l'envoi de la requête de fermeture aux autres instances.

Les options de ligne de commande --lock-all et --unlock-all verrouillent/déverrouillent les espaces de travail de toutes les autres instances de KeePass.


L'édition des remplacements d'adresse (URL) (2.x)

KeePass 2.x prend en charge les options de ligne de commande suivantes pour l'édition des remplacements d'adresse (URL) :

  • -add-urloverride:
    Ajoute un remplacement d'adresse pour un protocole spécifique. Spécifier le protocole en utilisant le paramètre de ligne de commande '-scheme:' et le remplacement en utilisant le paramètre de commande '-value:'. Si le remplacement d'adresse doit être activé, alors passer en outre l'option de ligne de commande '-activate'.
  • -remove-urloverride:
    Supprime un remplacement d'adresse pour un protocole spécifique. Spécifier le protocole en utilisant le paramètre de ligne de commande '-scheme:' et le remplacement en utilisant le paramètre de ligne de commande '-value:'.
  • -set-urloverride:
    La valeur de ce paramètre de ligne de commande (non pas le paramètre de ligne de commande '-value:') est enregistré comme remplacement de toutes les adresses de l'entrée.
  • -get-urloverride:
    Enregistre le remplacement courant pour toutes les adresses de l'entrée vers le fichier '%TEMP%\KeePass_UrlOverride.tmp' (au format INI).
  • -clear-urloverride:
    Supprime le remplacement pour toutes les adresses de l'entrée.

Les remplacements d'adresse sont stockés dans le fichier de configuration imposée. Pour chacune des options de la ligne de commande ci-dessus excepté '-get-urloverride', une boîte de dialogue du contrôle du compte utilisateur (User Account Control) est affiché, si nécéssaire.