PowerShell est un outil puissant pour les administrateurs et les développeurs, mais les tâches répétitives peuvent vous ralentir. En gérant votre historique de cmdlets et en tirant parti des fonctionnalités de PSReadLine, vous pouvez optimiser votre flux de travail, gagner du temps et améliorer votre productivité. Ce guide vous présentera des conseils pratiques et des scénarios pour tirer le meilleur parti de l’historique des cmdlets PowerShell et de PSReadLine.
Pourquoi la gestion de l’historique des cmdlets est importante
Imaginez que vous exécutez à plusieurs reprises une séquence complexe de commandes ou que vous dépannez un script qui s’étend sur plusieurs lignes. Au lieu de retaper des commandes ou de chercher dans d’anciens scripts, vous pouvez accéder à votre historique de cmdlets pour une réutilisation rapide. Avec PSReadLine, vous pouvez aller encore plus loin en personnalisant votre expérience et en activant IntelliSense prédictif.
Accéder à l’historique des cmdlets
PowerShell stocke automatiquement votre historique de commandes dans un fichier, ce qui facilite sa consultation ou sa modification. Voici comment y accéder :
Emplacement du fichier d’historique des cmdlets
Le fichier d’historique des cmdlets se trouve à l’emplacement suivant :C:\Users\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine

Étapes pour gérer l’historique des cmdlets
- Localiser le fichier
Ouvrez le dossier et trouvez le fichier nomméConsoleHost_history.txt. - Modifier le fichier
Utilisez n’importe quel éditeur de texte (par exemple, le Bloc-notes ou VS Code) pour ajouter, supprimer ou modifier des commandes. - Créer un raccourci
Créez un raccourci vers le fichier sur votre bureau pour un accès rapide.
Cas d’usage courant
Un scénario typique consiste à réutiliser une séquence de commandes pour la maintenance du serveur. Par exemple, si vous exécutez fréquemment des commandes pour redémarrer des services, vérifier des journaux ou configurer des paramètres, vous pouvez enregistrer ces commandes dans le fichier d’historique pour un accès rapide.
Exploiter tout le potentiel de PSReadLine
PSReadLine est un module qui améliore l’expérience de la console PowerShell. Il offre des fonctionnalités telles que la coloration syntaxique, IntelliSense prédictif et les raccourcis clavier personnalisés, ce qui facilite le travail avec PowerShell.
Fonctionnalités clés de PSReadLine
- Coloration syntaxique
Met en évidence les erreurs de syntaxe et rend les commandes plus lisibles. - IntelliSense prédictif
Suggère automatiquement des commandes en fonction de votre historique ou de vos plug-ins. - Raccourcis clavier personnalisés
Associez des touches à des actions personnalisées pour une exécution plus rapide. - Modification multiligne
Modifiez et exécutez des commandes multilignes en toute simplicité. - Affichage dynamique de l’aide
Affiche les informations d’aide directement dans la console sans vous faire perdre le fil.
Scénarios pratiques d’utilisation de PSReadLine
Scénario 1 : automatiser les tâches répétitives
Supposons que vous redémarriez fréquemment un serveur Web et que vous vérifiiez son état. Au lieu de taper ces commandes à chaque fois, vous pouvez les enregistrer dans l’historique ou les associer à un raccourci clavier.
Restart-Service -Name "WebServer"
Get-Service -Name "WebServer" | Select-Object Status
Scénario 2 : IntelliSense prédictif pour découvrir les commandes plus rapidement
IntelliSense prédictif vous aide à trouver et à exécuter des commandes rapidement. Par exemple, si vous utilisez souvent Get-Process, taper « Get » suggérera des commandes de votre historique, notamment Get-Process.
Pour activer IntelliSense prédictif :
Set-PSReadLineOption -PredictionSource History
Scénario 3 : raccourcis clavier personnalisés pour plus d’efficacité
Vous pouvez associer une touche pour effectuer rapidement une recherche vers l’arrière dans votre historique de commandes :
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Ou créer une association personnalisée pour enregistrer une commande dans l’historique sans l’exécuter :
$parameters = @{
Key = 'Alt+w'
ScriptBlock = {
$line = $null
$cursor = $null
[Microsoft.PowerShell.PSConsoleReadLine]::GetBufferState([ref]$line, [ref]$cursor)
[Microsoft.PowerShell.PSConsoleReadLine]::AddToHistory($line)
[Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
}
}
Set-PSReadLineKeyHandler @parameters
Scénario 4 : gestion sécurisée de l’historique des commandes
PSReadLine filtre les données sensibles comme les mots de passe et les jetons du fichier d’historique pour protéger votre sécurité. Par exemple :
$password = 'MySecurePassword'
Set-Secret -Name "MySecret" -SecretValue $password
Ces commandes ne seront pas enregistrées dans le fichier d’historique.
Installer PSReadLine
PSReadLine est disponible dans la galerie PowerShell. Pour l’installer, exécutez :
Install-Module -Name PSReadLine -AllowClobber -Force
Remarque : PSReadLine nécessite PowerShell 5.1 ou une version ultérieure. Il fonctionne avec Windows Terminal, Visual Studio Code et l’hôte de console Windows par défaut, mais pas avec Windows PowerShell ISE.
Points forts des versions
PSReadLine a considérablement évolué depuis sa première version dans Windows PowerShell 5.1. Les versions clés sont les suivantes :
- v2.3.6: livré avec PowerShell 7.4.7 et 7.5.0
- v2.3.4: a introduit des améliorations du nettoyage des données sensibles.
- v2.2.6: a amélioré la modification multiligne et IntelliSense prédictif.
Pour plus d’informations, consultez les notes de publication d’about_PSReadLine.
En savoir plus sur PSReadLine
Pour découvrir d’autres fonctionnalités et exemples, consultez la documentation officielle :