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 quotes 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 connexion (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 bogue dans Mono).

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

De plus, le paramètre -useraccount est pris en charge. S'il est spécifié, l'accréditation (credentials) du compte utilisateur courant sera utilisée. L'accréditation, ce n'est pas seulement le mot de passe. Vous pouvez penser à sa clé cryptographique qui est chiffrée que l'utilisateur fourni pour son logon (mot de passe, carte à puce, etc.).

Le paramètre -iocredfromrecent engendre que KeePass charge le fichier des mots de passe système (pas la clé de la base de données) depuis la plus récente liste de fichiers utilisés. Autrement, le fichier des mots de passe système peut être spécifié en utilisant les paramètres -iousername: et -iopassword:. Le paramètre optionnel -ioiscomplete indique à KeePass que le chemin et le fichier des mots de passe système sont complets (la boîte de dialogue 'Ouvrir adresse (URL)' ne sera alors pas affichée).

"Complete" signifie simplement ici que toutes les parties (URL, nom d'utilisateur et mot de passe) sont présentes. C'est par exemple pour permettre de différencier entre un mot de passe vide et un mot de passe encore manquant (que KeePass a besoin de demander dans une boîte de dialogue).

Le paramètre -pw-enc: est similaire à -pw:, mais il nécessite que le mot de passe soit chiffré. Des mots de passe chiffrés peuvent être générés en utilisant le paramètre substituable (placeholder) {PASSWORD_ENC}.

L'option -entry-url-open engendre que les autres instances de KeePass ouvertes cherchent une entrée et ouvre son adresse (URL). L'entrée est identifiée par son UUID, que vous pouvez passer comme paramètre -uuid: de ligne de commande.

L'option -auto-type-password est similaire à -auto-type, mais saisit automatiquement seulement le mot de passe de l'entrée correspondante. -auto-type-selected accompli la saisie automatique pour l'entrée en cours de sélection.

Dans le premier cas, KeePass recherche une entrée correspondante (basée sur le titre de la fenêtre cible) et saisit automatiquement seulement son mot de passe (indépendant de toute séquence de saisie automatique associée avec la fenêtre). Dans le second cas, l'entrée actuellement sélectionnée (dans la liste des entrées de la fenêtre principale) est utilisée, et la même logique pour la détermination de la séquence automatique est utilisée comme une saisie automatique régulière.


L'option -cancel implique que toutes les autres instances de KeePass annulent l'ouverture/enregistrement d'un fichier base de données.

Le chemin du fichier de la configuration locale peut être modifié en utilisant le paramètre -cfg-local: de la ligne de commande.

L'ordre des arguments est arbitraire.


Terminal Exemple 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 avez 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.


Editing URL Overrides (2.x)

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

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

Les remplacement d'URL sont stockés dans le fichier configation imposée. Pour toutes les options de la ligne de commande ci-dessus excepté '-get-urloverride', un contrôle de compte utilisateur est affiché, si nécessaire.