- - Cómo obtener el historial de comandos de PowerShell en Windows 10

Cómo obtener el historial de comandos de PowerShell en Windows 10

PowerShell en Windows 10 puede darle un historialde todos los comandos que ha ejecutado en la sesión actual, sin embargo, para muchos usuarios esto no es suficiente. Necesitan un historial de comandos ejecutados en sesiones. Si necesita obtener el historial de comandos de PowerShell, y el historial de la sesión actual por sí solo no funciona, hay un script y un archivo de registro que pueden ayudarlo.

Historial de comandos Sesión actual

Si está ejecutando PowerShell 5, puede obtener el historial de comandos para la sesión actual ejecutando el siguiente comando;

Get-History

Por defecto, PowerShell puede guardar hasta 50 comandospero puedes cambiarlo para ahorrar más. Abra PowerShell y haga clic con el botón derecho en la barra de título. Desde el menú contextual, vaya a Propiedades. En la ventana Propiedades, vaya a la pestaña Opciones. Verá una sección del Historial de comandos donde el valor predeterminado se establece en 50. Cámbielo a un valor más alto.

Registro de historial de PowerShell

Para ver el registro del historial, primero debe instalar el módulo PSReadLine con el siguiente comando;

Install-Module PSReadLine

A continuación, ejecute el siguiente comando y devolverá una ubicación de archivo. El archivo en esta ubicación le dará un historial completo de cada comando que haya ejecutado en PowerShell.

(Get-PSReadlineOption).HistorySavePath

Historial de comandos de PowerShell entre sesiones

Este es un proceso un poco largo, pero vale la pena. Esta solución proviene de Intel. Primero abra la siguiente ubicación y verifique si hay un archivo llamado Microsoft.PowerShell_profile.ps1 en esta ubicación.

C:Users<username>DocumentsWindowsPowerShell

Si no hay ningún archivo allí, abra PowerShell y ejecuteEl siguiente comando. Abrirá su archivo de perfil en el Bloc de notas, pero ese archivo no existe y PowerShell le dirá lo mismo y le preguntará si desea crearlo. Permita que cree el archivo.

notepad $Profile

Cierre el archivo del bloc de notas que se abre. En PowerShell, ejecute este comando para asegurarse de que está ejecutando PowerShell 5.

$PSVersionTable.PSVersion

A continuación, configure su política de ejecución en RemoteSigned con el siguiente comando.

set-executionpolicy remotesigned

A continuación, debe instalar PsUrl yMódulos PSReadline. Sin embargo, puede instalarlos con el siguiente comando si obtiene un error, simplemente instálelos manualmente mediante el proceso descrito en las páginas vinculadas, o intente agregar el repositorio como un repositorio confiable y luego ejecute el comando nuevamente.

install-module PsUrl
install-module PSReadline

Ahora que esos módulos se han instalado, abra este archivo;

C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Pegue lo siguiente dentro de este archivo y guárdelo.

$HistoryFilePath = Join-Path ([Environment]::GetFolderPath("UserProfile")) .ps_history
Register-EngineEvent PowerShell.Exiting -Action { Get-History | Export-Clixml $HistoryFilePath } | out-null
if (Test-path $HistoryFilePath) { Import-Clixml $HistoryFilePath | Add-History }
# if you don"t already have this configured...
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

Para ver el historial de comandos en PowerShell,debe ejecutar el comando Obtener historial; sin embargo, hay un paso muy importante para asegurarse de guardar su historial. NO PUEDE cerrar PowerShell haciendo clic en el botón Cerrar. En su lugar, siempre debe cerrarlo con el comando de salida.

Puede usar las teclas de flecha hacia arriba y hacia abajo para recorrer los comandos anteriores.

Comentarios