16Aug

Comment utiliser votre historique des commandes dans Windows PowerShell

click fraud protection

Windows PowerShell intègre une fonction d'historique des commandes qui fournit des informations détaillées sur les commandes que vous avez exécutées. Comme l'invite de commande, PowerShell se souvient uniquement de l'historique de vos commandes pour la session en cours.

Comment utiliser le tampon de ligne de commande

PowerShell possède techniquement deux types d'historique de commandes. Tout d'abord, il y a le tampon de ligne de commande, qui fait partie de l'application de terminal graphique PowerShell et qui ne fait pas partie de l'application Windows PowerShell sous-jacente. Il fournit quelques fonctionnalités de base:

  • Flèche vers le haut : Rappelez la commande précédente que vous avez tapée. Appuyez plusieurs fois sur la touche pour parcourir l'historique de vos commandes.
  • Flèche vers le bas : Rappelez la commande suivante que vous avez tapée. Appuyez plusieurs fois sur la touche pour parcourir l'historique de vos commandes.
  • F8 : Recherchez dans votre historique de commandes une commande correspondant au texte de la ligne de commande en cours. Donc, si vous vouliez rechercher une commande qui commençait par "p", vous taperiez "p" sur la ligne de commande, puis vous taperiez plusieurs fois sur F8 pour parcourir les commandes de votre historique commençant par "a".
    instagram viewer

Par défaut, le tampon se souvient des 50 dernières commandes que vous avez tapées. Pour cela, cliquez avec le bouton droit sur la barre de titre de la fenêtre d'invite PowerShell, sélectionnez "Propriétés" et modifiez la valeur de "Taille du tampon" sous Historique des commandes.

Comment afficher l'historique de PowerShell

Windows PowerShell conserve lui-même l'historique des commandes que vous avez saisies dans la session PowerShell en cours. Vous pouvez utiliser plusieurs cmdlets incluses pour afficher et utiliser votre historique.

Pour afficher l'historique des commandes que vous avez saisies, exécutez la cmdlet suivante:

Get-History

Vous pouvez rechercher votre historique en redirigeant la sortie résultante vers l'applet de commande Select-String et en spécifiant le texte que vous souhaitez rechercher. Remplacer "Exemple" dans la cmdlet ci-dessous avec le texte que vous souhaitez rechercher:

Get-History |Select-String -Pattern "Exemple"

Pour afficher un historique des commandes plus détaillé affichant l'état d'exécution de chaque commande avec ses heures de début et de fin, exécutez la commande suivante:

Get-History |Format-List -Property *

Par défaut, la cmdlet Get-History n'affiche que les 32 entrées d'historique les plus récentes. Si vous souhaitez afficher ou rechercher un plus grand nombre d'entrées d'historique, utilisez l'option -Count pour spécifier le nombre d'entrées d'historique que PowerShell doit afficher, comme ceci:

Get-History -Count 1000 Get-History -Count 1000 |Select-String -Pattern "Exemple" Get-History -Count 1000 |Format-List -Property *

Comment exécuter des commandes depuis votre historique

Pour exécuter une commande à partir de votre historique, utilisez la cmdlet suivante, en spécifiant le numéro d'ID de l'élément d'historique comme indiqué par l'applet de commande Get-History:

Invoke-History #

Pour exécuter deux commandes de votre historique, utilisez deux fois Invoke-History sur la même ligne, séparées par un point-virgule. Par exemple, pour exécuter rapidement la première commande de votre historique, puis la seconde, vous devez exécuter:

Invoke-History 1; Invoke-History 2

Comment effacer votre historique PowerShell

Pour effacer l'historique des commandes que vous avez tapées, exécutez la cmdlet suivante:

Clear-History

Notez que le tampon de ligne de commande est distinct de l'historique PowerShell. Ainsi, même après avoir exécuté Clear-History, vous pouvez continuer à appuyer sur les flèches haut et bas pour faire défiler les commandes que vous avez tapées. Cependant, si vous exécutez Get-History, vous verrez que votre historique PowerShell est vide.

PowerShell ne se souvient pas de votre historique entre les sessions. Pour effacer les deux historiques de commandes de la session en cours, il suffit de fermer la fenêtre PowerShell.

Si vous souhaitez effacer la fenêtre PowerShell après avoir effacé l'historique, vous pouvez le faire en exécutant la commande Effacer:

Effacer

Comment enregistrer et importer votre historique PowerShell

Si vous souhaitez enregistrer l'historique des commandes PowerShell pour le courantsession afin que vous puissiez vous y référer plus tard, vous pouvez le faire.

Get-Historique |Export-Clixml -Path c: \ users \ nom \ desktop \ commands.xml

Ceci exporte votre historique de commande sous la forme d'un fichier XML complet avec les valeurs "StartExecutionTime" et "EndExecutionTime" pour chaque commande qui vous indique quand la commande a été exécutée etcombien de temps il a fallu pour terminer.

Une fois que vous avez exporté votre historique PowerShell vers un tel fichier XML, vous( ou toute autre personne à qui vous envoyez le fichier XML) pouvez l'importer vers une autre session PowerShell à l'aide de la cmdlet Add-History:

Add-History -InputObject( Import-Clixml -Path C: \ users \ nom \ desktop \ commands.xml)

Si vous exécutez la cmdlet Get-History après l'importation d'un tel fichier XML, vous verrez que les commandes du fichier XMLfichier ont été importés dans l'historique de votre session PowerShell actuelle.