Cómo ver el historial de comandos de PowerShell?

Cómo ver el historial de comandos de PowerShell?

Uno de los inconvenientes principales del símbolo del sistema de Powershell en comparación con bash fue la incapacidad de mantener un historial de comandos ejecutados. El historial de comandos solo se puede ver en la sesión actual de Powershell, y cuando la consola Powershell se ha cerrado o la computadora se ha reiniciado, el historial de comandos no se guarda. Este inconveniente se ha corregido en la versión 5 de PowerShell, que está integrado en Windows 10.

Ahora cuando presionas la flecha hacia arriba puedes ir al último comando que ingresaste oa los anteriores (flecha hacia abajo). De manera predeterminada, PowerShell recuerda 4096 comandos almacenados en un archivo de texto sin formato en el perfil de cada usuario:
%userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

Powershell historial comandos

También puedes buscar el historial de comandos usando CTRL + R (búsqueda inversa) o CTRL + S (búsqueda hacia adelante). El texto que ingresó se encontrará en el historial de comandos en cualquier posición (a diferencia de la búsqueda en PowerShell con F8 o Shift + F8, que permiten buscar las coincidencias solo desde el comienzo de la línea) y se resaltará una variante adecuada.

Busqueda comandos en PowerShell

El historial de comandos se puede configurar con los comandos Get-PSReadlineOption y Set-PSReadlineOption. La configuración actual se puede ver con este comando:

Get-PSReadlineOption | select HistoryNoDuplicates, MaximumHistoryCount, HistorySearchCursorMovesToEnd, HistorySearchCaseSensitive, HistorySavePath, HistorySaveStyle

La configuración de los siguientes parámetros puede ser importante para nosotros

HistoryNoDuplicates: determina si se deben guardar los mismos comandos

MaximumHistoryCount: la cantidad máxima de comandos almacenados

HistorySearchCursorMovesToEnd: determina si debe ir al final del comando cuando busca

HistorySearchCaseSensitive: determina si la búsqueda es sensible a mayúsculas y minúsculas

HistorySavePath: muestra el archivo donde se almacena el historial de comandos

HistorySaveStyle: determina las peculiaridades de los comandos de guardado:

  • SaveIncrementally: los comandos se guardan después de que se ejecutan (de forma predeterminada)

  • SaveAtExit: el historial se guarda cuando se cierra la consola

  • SaveNothing: deshabilita el guardado del historial de comandos

Puede cambiar la configuración del módulo PSReadLine usando Set-PSReadlineOption, por ejemplo:

Set-PSReadlineOption -HistorySaveStyle SaveAtExit

Configurar PSReadLine