Cómo ver y usar el historial de comandos de PowerShell en Windows

Windows cuenta con una serie de utilidades, herramientas y comandos que permiten al usuario corregir e intercambiar algunas funcionalidades, Powershell sin embargo, es una interfaz que habilita una consola para escribir comandos y ejecutarlos, generalmente su uso es de administradores de sistemas o desarrolladores web, con el fin de automatizar y realizar tareas de forma controlada.

Cómo ver y usar el historial de comandos de POWERSHELL en Windows

Una de funciones es la de habilitar su historial de comandos que suministra información completa y detallada sobre todos los comandos que se hayan utilizado o ejecutado en la sesión actual.

Índice()
  1. Opciones para visualizar el historial con todos los comandos ejecutados
    1. PSReadLine para todas las sesiones
    2. Get-History para la sesión actual
  2. ¿Cuáles son las métodos para buscar comandos en el historial?
    1. Usando el teclado
    2. Buscar de adelante a atrás
    3. Selección de cadenas
  3. ¿Qué se hace para configurar el historial de comandos?
  4. ¿De qué manera se guarda y exporta el historial?
  5. ¿Cómo eliminar todos los comandos que contiene el historial?

Opciones para visualizar el historial con todos los comandos ejecutados

Al ejecutar comandos en PowerShell se genera en automático una lista perteneciente al historial de la sesión que se esté utilizando, de este modo al desplegar el historial se ve organizado el orden en que se ejecutaron, el estado, las horas de inicio y en que finalizaron la ejecución de comandos. Así mismo, es como PowerShell va agregando al historial dichos comandos para que se pueden reutilizar si el usuario lo amerita.

interfaz grafica powershell

En esta misma plataforma podemos encontrar servicios como Azure, que contienen una lista más extensa de cmdlets que cuentan con más seguridad y disponibilidad de comandos, sólo debemos instalarla correctamente en nuestro PowerShell.

PSReadLine para todas las sesiones

Se encarga de realizar un seguimiento en todos los comandos se han utilizado y globaliza las sesiones abiertas en PoweShell, el historial se administra en un archivo central ubicado en un host y esto permite que el historial se encuentre disponible para todas las sesiones y su contenido anterior, debido a que al finalizar sesión no se elimina el historial.

Get-History para la sesión actual

Obtiene la lista de comandos que se hayan utilizado en la sesión abierta actualmente, por lo tanto, su función es mantener un historial para cada sesión. La variable de preferencia para el número de entradas se encuentra determinado por el término "$MaximumHistoryCount".

Los archivos del historial se alojan automáticamente en el directorio de inicio pero, también si se desea se puede guardar en cualquier otra ubicación. Los historiales de sesión se dividen por el módulo de PSReadLine.

búsqueda de historial de actualizaciones en Windows mediante PowerShell

¿Cuáles son las métodos para buscar comandos en el historial?

En el menú inicio de nuestra pc podemos encontrar el programa de Powershell el cual posee varias ventajas, entre ellas los comandos se quedan guardados en el historial, lo que permite volver hacer uso de ellos sin tener que buscarlos de nuevo. Aún así, la búsqueda se puede simplificar siguiendo algunos métodos alternos.

Usando el teclado

En PowerShell se pueden buscar comandos con el teclado al igual que muchas otras funciones se pueden manejar con el mismo en Windows, con la diferencia en este caso que se debe buscar el término de inicio del comando, estos son los pasos a seguir:

  • Escriba la parte inicial del comando.
  • Si el primer resultado no es el que se busca, debe presionar F8 varias veces hasta que lo encuentre.
  • El término que se busca estará resaltado de un color fluorescente desde el inicio hasta el final del comando.

Buscar de adelante a atrás

Otro método es la búsqueda hacia adelante y hacia atrás en el historial, para ello debes oprimir Ctrl + R si deseas ir hacia atrás y Ctrl + S si deseas ir hacia adelante. Seguidamente de presionar dichas teclas debe aparecer un cuadro de búsqueda, en la parte inferior encontrarás un texto así "bck-i-search o fwd-i-search", allí podrás escribir el término que quieres buscar.

Selección de cadenas

Este es el método más sencillo y eficaz para buscar y ejecutar un comando, al llevar la identificación sólo debes usar el comando Invocar historial y esté se comenzará a ejecutar de forma instantánea, esto es lo que debes hacer:

exportar y guardar comandos desde PowerShell

  • Debes escribir: Get-History | Select-String -Pattern "Obtener".
  • En la parte "Obtener", debes reemplazarlo por el término de búsqueda.
  • Automáticamente van a aparecer todos aquellos comandos que coincidan con la búsqueda realizada.

¿Qué se hace para configurar el historial de comandos?

Para la configuración de algunos parámetros puedes utilizar una serie de comandos que se habilitan según el uso requerido, a continuación te vamos a especificar unos de ellos.

  • HistoryNoDuplicates: determina si se deben preservar los mismos comandos.
  • HistorySearchCursorMovesToEnd: se usa si se debe dirigir hasta el final del comando cuando se realiza la búsqueda.
  • HistorySavePath: visualiza el archivo en donde se guarda el historial de un comando.
  • HistorySearchCaseSensitive: se usa para realizar una búsqueda sensible a mayúsculas y minúsculas.
  • MaximumHistoryCount: indica la cantidad exacta que de comandos almacenados.

¿De qué manera se guarda y exporta el historial?

Si se desea guardar los comandos ejecutas como historial para verlos luego se puede realizar escribiendo: Get-History | Export-Clixml -Path c: users name desktop commands.xml  de este modo se exportará automáticamente el historial a un archivo XML completamente detallado con los valores "StartExecutionTime" y "EndExecutionTime". Estos valores van a arrojar cuando se ejecutó el comando y cuanto tiempo estuvo activo.

Al haber exportado a un archivo XML el historial de PowerShell, se podrá visualizar en cualquier otra sesión u otro servidor que posea el historial de adiciones, se debe ejecutar "cmdletGet-History" y se abrirán los comandos del archivo que se importó en la nueva sesión de PowerShell.

cmdlet para borrar historial en Powershell

¿Cómo eliminar todos los comandos que contiene el historial?

En el caso que se quiera borrar los comandos ejecutados o el historial en PowerShell, sólo debes escribir el siguiente cmdlet: Clear-history. Hay que tomar en cuenta que el bufet de comandos se encuentra apartado de PowerShell, por lo tanto aunque hayamos ejecutado "Clear-history" podremos seguir desplazándonos hacia arriba y hacia abajo observando el historial, pero si nos dirigimos a Get-History observaremos que se encuentra en blanco.

Se debe cerrar la ventana de PowerShell para que de este modo ya no se observe el historial en ninguna sesión, también es válido luego de cerrar la ventana habilitar el comando "Clear" para borrar todo el historial.

Subir