about_History

Description courte

Décrit comment obtenir et exécuter des commandes dans l’historique des commandes.

Description longue

Lorsque vous entrez une commande à l’invite de commandes, PowerShell enregistre la commande dans l’historique des commandes. Vous pouvez utiliser les commandes dans l’historique en tant qu’enregistrement de votre travail. Vous pouvez également rappeler et exécuter les commandes à partir de l’historique des commandes.

PowerShell a deux fournisseurs d’historique différents : l’historique intégré et l’historique géré par le module PSReadLine . Les historiques sont gérés séparément, mais les deux historiques sont disponibles dans les sessions où PSReadLine est chargé.

Utilisation de l’historique PSReadLine

L’historique PSReadLine suit les commandes utilisées dans toutes les sessions PowerShell. L’historique est écrit dans un fichier central par hôte. Ce fichier d’historique est disponible pour toutes les sessions et contient l’historique passé. L’historique n’est pas supprimé lorsque la session se termine. En outre, cet historique ne peut pas être géré par les *-History applets de commande. Pour plus d’informations, consultez about_PSReadLine.

Utilisation de l’historique de session intégré

L’historique intégré effectue uniquement le suivi des commandes utilisées dans la session active. L’historique n’est pas disponible pour d’autres sessions et est supprimé lorsque la session se termine.

Applets de commande d’historique

PowerShell a un ensemble d’applets de commande qui gèrent l’historique des commandes.

Applet de commande Alias Description
Get-History h Obtient l’historique des commandes.
Invoke-History r Exécute une commande dans l’historique des commandes.
Add-History Ajoute une commande à l’historique des commandes.
Clear-History clhy Supprime les commandes de l’historique des commandes.

Raccourcis clavier pour la gestion de l’historique

Dans la console PowerShell, vous pouvez utiliser les raccourcis suivants pour gérer l’historique des commandes.

  • UpArrow : affiche la commande précédente.
  • DownArrow : affiche la commande suivante.
  • F7 : affiche l’historique des commandes.
  • ESC - Pour masquer l’historique.
  • F8 - Recherche une commande. Tapez un ou plusieurs caractères, puis appuyez sur F8. Appuyez de nouveau sur F8 pour l’instance suivante.
  • F9 : recherchez une commande par ID d’historique. Tapez l’ID d’historique, puis appuyez sur F9. Appuyez sur F7 pour rechercher l’ID.
  • #<string>Onglet : recherchez et *<string>* retournez la correspondance la plus récente. Si vous appuyez sur Tab à plusieurs reprises, il parcoure les éléments correspondants dans votre historique.

Remarque

Ces liaisons de clé sont implémentées par l’application hôte de la console. D’autres applications, telles que Visual Studio Code ou Terminal Windows, peuvent avoir des liaisons de clés différentes. Les liaisons peuvent être remplacées par le module PSReadLine. PSReadLine se charge automatiquement quand vous démarrez une session PowerShell. Avec PSReadLine chargé, F7 et F9 ne sont liés à aucune fonction. PSReadLine ne fournit pas de fonctionnalités équivalentes. Pour plus d’informations, consultez about_PSReadLine.

MaximumHistoryCount

La $MaximumHistoryCount variable de préférence détermine le nombre maximal de commandes enregistrées par PowerShell dans l’historique des commandes. La valeur par défaut est 4096.

Par exemple, la commande suivante réduit la $MaximumHistoryCount valeur 100 commandes :

$MaximumHistoryCount = 100

Pour appliquer le paramètre, redémarrez PowerShell.

Pour enregistrer la nouvelle valeur de variable pour toutes vos sessions PowerShell, ajoutez l’instruction d’affectation à un profil PowerShell. Pour plus d'informations sur les profils, consultez about_Profiles.

Pour plus d’informations sur la $MaximumHistoryCount variable de préférence, consultez about_Preference_Variables.

Ordre des commandes dans l’historique

Les commandes sont ajoutées à l’historique à la fin de l’exécution de la commande, et non lorsque la commande est entrée. Si les commandes prennent un certain temps ou si les commandes s’exécutent dans une invite imbriquée, les commandes peuvent sembler obsolètes dans l’historique. Les commandes qui s’exécutent dans une invite imbriquée sont terminées uniquement lorsque vous quittez le niveau d’invite.

Voir aussi