Clear-History de PowerShell n'efface pas l'historique

Clear-History de PowerShell n’efface pas l’historique

En resume

Il y a deux historiques a effacer :

  • L’historique propre a PowerShell, invariablement limite a la session (utilisez Clear-History pour l’effacer)

  • De plus, dans les consoles (terminaux), celui du module PSReadLine qui est utilise pour l’edition de ligne de commande par defaut dans PowerShell v5+, qui fournit a la fois un historique de session et un historique persistant (pour effacer uniquement l’historique de session, utilisez [Microsoft.PowerShell.PSConsoleReadLine]::ClearHistory())

  • Alt-F7 dans PSReadLine v1.2+ effectue les deux appels pour vous, mais notez que l’historique persistant n’est pas affecte (voir le point suivant).

Dans les versions 1.2+ de PSReadLine (verifiez avec Get-Module PSReadLine), appuyer sur Alt+F7 effectue les deux appels pour vous, et donc efface completement l’historique de session.

Cependant, cela n’efface pas l’historique persistant qui s’est accumule jusqu’a ce point, donc meme l’historique de la session effacee reapparaitra dans les futures sessions par defaut.

Pour effacer egalement l’historique persistant (enregistre dans un fichier), vous devez actuellement manuellement supprimer le fichier sous-jacent (Remove-Item (Get-PSReadlineOption).HistorySavePath), comme discute ci-dessous, et comme encapsule par la fonction Clear-SavedHistory dans la section du bas.

Issue GitHub #25933 est une proposition pour implementer une nouvelle cmdlet qui facilite la suppression de l’historique persistant.

Pour completer la reponse utile de CB. et la reponse utile de JVimes :

Le mecanisme d’historique propre a PowerShell (Get-History, Clear-History) est independant de l’hote, c’est pourquoi - de maniere assez inattendue - vous devez egalement effacer l’historique des commandes de l’hote separement.

En ce qui concerne la propre fonctionnalite d’historique de l’hote de la console :

Fonctionnalite d’historique de style doskey, avant que le module PSReadline ne soit livre avec PowerShell (voir ci-dessous) :

  • Il n’y a pas d’historique enregistre - un historique n’est conserve que

(Reponse tronquee)