Compartir a través de


Add-History

Anexa entradas al historial de sesiones.

Sintaxis

Default (valor predeterminado)

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

Description

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

El historial de sesiones es una lista de los comandos especificados durante la sesión. El historial de sesiones representa el orden de ejecución, el estado y las horas 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 en las que se carga PSReadLine. Este cmdlet solo funciona con el historial de sesiones. Para obtener más información, consulte about_PSReadLine.

Puede usar el cmdlet Get-History 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 único archivo de historial 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 archivo History.csv.

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

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

En este ejemplo se importan comandos del archivo History.xml, 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 cmdlet Import-Clixml para importar un historial de comandos que se exportó al archivo History.xml. El operador de canalización pasa los comandos al cmdlet Add-History, que agrega los comandos al historial de sesión actual. El parámetro PassThru pasa los objetos que representan los comandos agregados por la canalización.

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

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

Este ejemplo agrega los cinco primeros comandos del historial al final de la lista del historial.

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

El cmdlet Get-History obtiene los cinco comandos que terminan en el comando 5. El operador de canalización los pasa al cmdlet Add-History, que los agrega al historial actual. El comando Add-History 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 .csv al historial actual

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

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

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

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

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

En este ejemplo se agregan los comandos del archivo history.xml 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 cmdlet Add-History. El comando entre paréntesis, que se ejecuta primero, importa el archivo history.xml en PowerShell. A continuación, el cmdlet Add-History agrega los comandos del archivo al historial de sesión.

Parámetros

-InputObject

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

Propiedades de parámetro

Tipo:

PSObject[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:0
Obligatorio:False
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Passthru

Indica que este cmdlet devuelve un objeto HistoryInfo para cada entrada del historial. De forma predeterminada, este cmdlet no genera ninguna salida.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

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 sesiones representa el orden de ejecución, el estado y las horas 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 comando Add-History solo acepta objetos HistoryInfo, como los devueltos por cada comando por el cmdlet Get-History. 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 comando de Get-History a un archivo mediante el cmdlet Export-Csv o Export-Clixml y, a continuación, importe el archivo mediante los cmdlets Import-Csv o Import-Clixml. A continuación, puede pasar el archivo de objetos HistoryInfo importados a Add-History a través de una pipeline o en una variable. Para obtener más información, consulte los ejemplos.

El archivo de objetos HistoryInfo que pasas al cmdlet Add-History 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 cmdlet Export-Csv 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 use Add-History para anexarlo al historial de sesión actual.