Compartir a través de


Add-History

Anexa entradas al historial de la sesión.

Sintaxis

Add-History
   [[-InputObject] <PSObject[]>]
   [-PassThru]
   [<CommonParameters>]

Description

El Add-History cmdlet agrega entradas al final del historial de sesión, es decir, la lista de comandos especificados durante la sesión actual.

El historial de la sesión es una lista de los comandos escritos durante la sesión. El historial de la sesión representa el orden de ejecución, el estado y los tiempos de inicio y finalización del comando. Al escribir cada comando, PowerShell lo agrega al historial para que pueda reutilizarlo. Para obtener más información sobre el historial de sesiones, consulte about_History.

El historial de sesiones se administra independientemente del historial mantenido por el módulo PSReadLine . Ambos historiales están disponibles en sesiones donde se carga PSReadLine . Este cmdlet solo funciona con el historial de sesiones. Para obtener más información, consulte about_PSReadLine.

Puede usar el Get-History cmdlet para obtener los comandos y pasarlos a Add-History, o puede exportar los comandos a un archivo CSV o XML, importar los comandos y pasar el archivo importado a Add-History. Puede usar este cmdlet para agregar comandos específicos al historial o para crear un archivo de historial único que incluya comandos de más de una sesión.

Ejemplos

Ejemplo 1: Agregar comandos al historial de una sesión diferente

En este ejemplo se agregan los comandos tipados en una sesión de PowerShell al historial de una sesión de PowerShell diferente.

Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History

El primer comando obtiene objetos que representan los comandos del historial y los exporta al History.csv archivo.

El segundo comando se escribe en la línea de comandos de otra sesión. Usa el Import-Csv cmdlet para importar los objetos del History.csv archivo. El operador de canalización (|) pasa los objetos al Add-History cmdlet , que agrega los objetos que representan los comandos del History.csv archivo al historial de sesión actual.

Ejemplo 2: Importación y ejecución de comandos

En este ejemplo se importan comandos del History.xml archivo, se agregan al historial de sesión actual y, a continuación, se ejecutan los comandos en el historial combinado.

Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}

El primer comando usa el Import-Clixml cmdlet para importar un historial de comandos que se exportó al History.xml archivo. El operador de canalización pasa los comandos al Add-History cmdlet , que agrega los comandos al historial de sesión actual. El parámetro PassThru pasa los objetos que representan los comandos agregados a la canalización.

A continuación, el comando usa el ForEach-Object cmdlet para aplicar el Invoke-History comando a cada uno de los comandos del historial combinado. El Invoke-History comando tiene el formato de bloque de script, entre llaves ({}), según lo requiera el parámetro Process del ForEach-Object cmdlet.

Ejemplo 3: Agregar comandos en el historial al final del historial

En este ejemplo se agregan los cinco primeros comandos del historial al final de la lista de historial.

Get-History -Id 5 -Count 5 | Add-History

El Get-History cmdlet obtiene los cinco comandos que terminan en el comando 5. El operador de canalización los pasa al Add-History cmdlet , que los anexa al historial actual. El Add-History comando no incluye ningún parámetro, pero PowerShell asocia los objetos pasados a través de la canalización con el parámetro InputObject de Add-History.

Ejemplo 4: Agregar comandos en un archivo de .csv al historial actual

En este ejemplo se agregan los comandos del History.csv archivo al historial de sesión actual.

$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru

El Import-Csv cmdlet importa los comandos en el History.csv archivo y almacena su contenido en la variable $a.

El segundo comando usa el Add-History cmdlet para agregar los comandos desde History.csv al historial de sesión actual. Usa el parámetro InputObject para especificar la $a variable y el parámetro PassThru para generar un objeto que se muestre en la línea de comandos. Sin el parámetro PassThru , el Add-History cmdlet no genera ninguna salida.

Ejemplo 5: Agregar comandos en un archivo de .xml al historial actual

En este ejemplo se agregan los comandos del history.xml archivo al historial de sesión actual.

Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)

El parámetro InputObject pasa los resultados del comando entre paréntesis al Add-History cmdlet . El comando entre paréntesis, que se ejecuta primero, importa el history.xml archivo en PowerShell. A Add-History continuación, el cmdlet agrega los comandos del archivo al historial de sesión.

Parámetros

-InputObject

Especifica una matriz de entradas que se van a agregar al historial como objeto HistoryInfo al historial de sesión. Puede usar este parámetro para enviar un objeto HistoryInfo , como los devueltos por los Get-Historycmdlets , Import-Clixmlo Import-Csv a Add-History.

Tipo:PSObject[]
Posición:0
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-PassThru

Indica que este cmdlet devuelve un objeto HistoryInfo para cada entrada del historial. De forma predeterminada, este cmdlet no genera ningún resultado.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

HistoryInfo

Puede canalizar un objeto HistoryInfo a este cmdlet.

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

HistoryInfo

Cuando se usa el parámetro PassThru , este cmdlet devuelve un objeto HistoryInfo .

Notas

El historial de sesiones es una lista de los comandos especificados durante la sesión junto con el identificador. El historial de la sesión representa el orden de ejecución, el estado y los tiempos de inicio y finalización del comando. Al escribir cada comando, PowerShell lo agrega al historial para que pueda reutilizarlo. Para obtener más información sobre el historial de sesiones, consulte about_History.

Para especificar los comandos que se van a agregar al historial, use el parámetro InputObject . El Add-History comando solo acepta objetos HistoryInfo , como los devueltos por cada comando por el Get-History cmdlet . No puede pasarle una ruta de acceso y un nombre de archivo ni una lista de comandos.

Puede usar el parámetro InputObject para pasar un archivo de objetos HistoryInfo a Add-History. Para ello, exporte los resultados de un Get-History comando a un archivo mediante el Export-Csv cmdlet o Export-Clixml y, a continuación, importe el archivo mediante los Import-Csv cmdlets o Import-Clixml . A continuación, puede pasar el archivo de objetos HistoryInfo importados a Add-History a través de una canalización o en una variable. Para obtener más información, vea los ejemplos.

El archivo de objetos HistoryInfo que se pasan al Add-History cmdlet debe incluir la información de tipo, los encabezados de columna y todas las propiedades de los objetos HistoryInfo . Si tiene previsto volver a pasar los objetos a Add-History, no use el parámetro NoTypeInformation del Export-Csv cmdlet y no elimine la información de tipo, los encabezados de columna ni ningún campo del archivo.

Para modificar el historial de sesiones, exporte la sesión a un archivo CSV o XML, modifique el archivo, importe el archivo y úselo Add-History para anexarlo al historial de sesión actual.