Windows PowerShell tiene una función de historial de comandos integrada que proporciona información detallada sobre los comandos que ha ejecutado. Al igual que el símbolo del sistema, PowerShell solo recuerda su historial de comandos para la sesión actual.
Cómo utilizar el búfer de la línea de comandos
PowerShell tiene técnicamente dos tipos de historial de comandos. Primero, está el búfer de la línea de comandos, que en realidad es parte de la aplicación de terminal gráfica de PowerShell y no la aplicación subyacente de Windows PowerShell. Proporciona algunas funciones básicas:
- Flecha hacia arriba: recuerda el comando anterior que escribiste. Presione la tecla varias veces para explorar su historial de pedidos.
- Flecha hacia abajo: recuerda el siguiente comando que escribiste. Presione la tecla varias veces para explorar su historial de pedidos.
- F8: Busque en el historial de pedidos un comando que coincida con el texto de la línea de comandos actual. Entonces, si desea buscar un comando que comience con «p», debe escribir «p» en la línea de comando y luego presionar repetidamente F8 para recorrer los comandos en su historial que comienzan con «a».
De forma predeterminada, el búfer recuerda los últimos 50 comandos que ingresó. Para cambiar esto, haga clic con el botón derecho en la barra de título de la ventana del indicador de PowerShell, seleccione «Propiedades» y cambie el valor de «Tamaño de búfer» en Historial de comandos.
Cómo ver el historial de PowerShell
El propio Windows PowerShell mantiene un historial de los comandos que ingresó en la sesión actual de PowerShell. Puede utilizar varios cmdlets incluidos para ver y utilizar su historial.
Para ver el historial de los comandos que ingresó, ejecute el siguiente cmdlet:
Get-History
Puede buscar en su historial redirigiendo la salida resultante a la Select-String
cmdlet y especificando el texto que desea buscar. Reemplace «Ejemplo» en el cmdlet a continuación con el texto que desea buscar:
Get-History | Select-String -Pattern "Example"
Para ver un historial de comandos más detallado que muestra el estado de ejecución de cada comando junto con sus horas de inicio y finalización, ejecute el siguiente comando:
Get-History | Format-List -Property *
Por defecto, el Get-History
El cmdlet solo muestra las 32 entradas del historial más recientes. Si desea ver o buscar más entradas del historial, utilice el -Count
opción para especificar el número de entradas del historial que debe mostrar PowerShell, así:
Get-History -Count 1000 Get-History -Count 1000 | Select-String -Pattern "Example" Get-History -Count 1000 | Format-List -Property *
Cómo ejecutar comandos de tu historial
Para ejecutar un comando desde su historial, use el siguiente cmdlet, especificando el número de ID del elemento del historial como lo indica el Get-History
cmdlet:
Invoke-History #
Para ejecutar dos comandos de su historial uno tras otro, use Invoke-History
dos veces en la misma línea, separados por un punto y coma. Por ejemplo, para ejecutar rápidamente el primer comando en su historial y luego el segundo, ejecute:
Invoke-History 1;Invoke-History 2
Cómo borrar su historial de PowerShell
Para borrar el historial de los comandos que ingresó, ejecute el siguiente cmdlet:
Clear-History
Tenga en cuenta que el búfer de la línea de comandos es independiente del historial de PowerShell. Así que incluso después de correr Clear-History
, puede continuar presionando las teclas de flecha hacia arriba y hacia abajo para desplazarse por los comandos que ingresó. Sin embargo, si corres Get-History
, verá que su historial de PowerShell está realmente vacío.
PowerShell no recuerda su historial entre sesiones. Para borrar ambos historiales de comandos para la sesión actual, simplemente cierre la ventana de PowerShell.
Si desea borrar la ventana de PowerShell después de borrar el historial, puede hacerlo ejecutando el Clear
pedido:
Clear
Cómo guardar e importar su historial de PowerShell
Si desea guardar el historial de comandos de PowerShell para la sesión actual para poder consultarlo más tarde, puede hacerlo.
Get-History | Export-Clixml -Path c:usersnamedesktopcommands.xml
Esto exporta su historial de comandos como un archivo XML detallado con los valores «StartExecutionTime» y «EndExecutionTime» para cada comando que le indican cuándo se ejecutó el comando y cuánto tiempo tardó en completarse.
Una vez que haya exportado su historial de PowerShell a dicho archivo XML, usted (o cualquier otra persona a la que envíe el archivo XML) puede importarlo a otra sesión de PowerShell con el cmdlet Add-History:
Add-History -InputObject (Import-Clixml -Path C:usersnamedesktopcommands.xml)
Si ejecuta el Get-History
cmdlet después de importar un archivo XML de este tipo, verá que los comandos del archivo XML se han importado a su historial de sesión actual de PowerShell.