Compartilhar via


Add-History

Acrescenta entradas ao histórico da sessão.

Sintaxe

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

Description

O cmdlet Add-History adiciona entradas ao final do histórico de sessão, ou seja, a lista de comandos inseridos durante a sessão atual. Você pode usar o cmdlet Get-History para obter os comandos e passá-los para Add-Historyou exportar os comandos para um arquivo CSV ou XML, importar os comandos e passar o arquivo importado para Add-History. Você pode usar esse cmdlet para adicionar comandos específicos ao histórico ou criar um único arquivo de histórico que inclua comandos de mais de uma sessão.

Exemplos

Exemplo 1: adicionar comandos ao histórico de uma sessão diferente

# Get objects representing the commands in the history and exports them to the History.csv file.
Get-History | Export-Csv c:\testing\history.csv
# Use the `Import-Csv` cmdlet to import the objects in the History.csv file.
Import-Csv history.csv | Add-History

Esses comandos adicionam os comandos digitado em uma sessão do Windows PowerShell ao histórico de uma sessão diferente do Windows PowerShell. O segundo comando é digitado na linha de comando de uma sessão diferente.

O operador de pipeline | passa os objetos para o cmdlet Add-History, que adiciona os objetos que representam os comandos no arquivo History.csv ao histórico de sessão atual.

Exemplo 2: importar e executar comandos

Import-Clixml c:\temp\history.xml | Add-History -Passthru | ForEach-Object -Process {Invoke-History}

Esse comando importa comandos do arquivo History.xml, adiciona-os ao histórico de sessão atual e executa os comandos no histórico combinado.

O cmdlet Import-Clixml importa um histórico de comandos que foi exportado para o arquivo History.xml.

O operador de pipeline passa os comandos para o cmdlet Add-History, que adiciona os comandos ao histórico de sessão atual.

O parâmetro PassThru passa os objetos que representam os comandos adicionados no pipeline.

O cmdlet ForEach-Object para aplicar o comando Invoke-History a cada um dos comandos no histórico combinado.

O comando é formatado como um bloco de script, entre chaves, conforme exigido pelo parâmetro processo do cmdlet .

Exemplo 3: Adicionar comandos no histórico ao final do histórico

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

Esse comando adiciona os cinco primeiros comandos no histórico ao final da lista de histórico. Ele usa o cmdlet Get-History para obter os cinco comandos que terminam no comando 5. O operador de pipeline os passa para o cmdlet Add-History, que os acrescenta ao histórico atual.

O comando Add-History não inclui parâmetros, mas o Windows PowerShell associa os objetos passados pelo pipeline ao parâmetro InputObject de Add-History.

Exemplo 4: Adicionar comandos em um arquivo .csv ao histórico atual

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

Esses comandos adicionam os comandos no arquivo History.csv ao histórico de sessão atual.

O primeiro comando usa o cmdlet Import-Csv para importar os comandos no arquivo History.csv e armazenar seu conteúdo na variável $a.

O segundo comando usa o cmdlet Add-History para adicionar os comandos de History.csv ao histórico de sessão atual.

Ele usa o parâmetro InputObject para especificar a variável $a e o parâmetro PassThru para gerar um objeto a ser exibido na linha de comando. Sem o parâmetro PassThru, o cmdlet não gera nenhuma saída.

Exemplo 5: Adicionar comandos em um arquivo .xml ao histórico atual

Add-History -InputObject (Import-Clixml c:\temp\history01.xml)

Esse comando adiciona os comandos no arquivo History01.xml ao histórico de sessão atual. Ele usa o parâmetro InputObject para passar os resultados do comando entre parênteses para o cmdlet Add-History.

O comando entre parênteses, que é executado primeiro, importa o arquivo History01.xml para o Windows PowerShell. O cmdlet Add-History adiciona os comandos no arquivo ao histórico da sessão.

Parâmetros

-InputObject

Especifica uma matriz de entradas a serem adicionadas ao histórico como objeto HistoryInfo ao histórico da sessão. Você pode usar esse parâmetro para enviar um objeto HistoryInfo, como os retornados pelos cmdlets Get-History, Import-Clixmlou Import-Csv, para Add-History.

Tipo:PSObject[]
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Passthru

Indica que esse cmdlet retorna um objeto de histórico para cada entrada de histórico. Por padrão, esse cmdlet não gera nenhuma saída.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

HistoryInfo

Você pode redirecionar um objeto HistoryInfo para este cmdlet.

Saídas

None or Microsoft.PowerShell.Commands.HistoryInfo

Esse cmdlet retornará um objeto HistoryInfo se você especificar o parâmetro PassThru. Caso contrário, esse cmdlet não gerará nenhuma saída.

Observações

  • O histórico da sessão é uma lista dos comandos inseridos durante a sessão junto com a ID. O histórico da sessão representa a ordem de execução, o status e os horários de início e término do comando. À medida que você insere cada comando, o Windows PowerShell o adiciona ao histórico para que você possa reutilizá-lo. Para obter mais informações sobre o histórico da sessão, consulte about_History.

  • Para especificar os comandos a serem adicionados ao histórico, use o parâmetro InputObject. O comando Add-History aceita apenas objetos HistoryInfo, como aqueles retornados para cada comando pelo cmdlet Get-History. Não é possível passar um caminho e um nome de arquivo ou uma lista de comandos.

  • Você pode usar o parâmetro InputObject para passar um arquivo de objetos HistoryInfo para . Para fazer isso, exporte os resultados de um comando Get-History para um arquivo usando o cmdlet Export-Csv ou Export-Clixml e importe o arquivo usando os cmdlets Import-Csv ou Import-Clixml. Em seguida, você pode passar o arquivo de objetos HistoryInfo importados para por meio de um pipeline ou em uma variável. Para obter mais informações, consulte os exemplos.

  • O arquivo de objetos HistoryInfo que você passa para o cmdlet Add-History deve incluir as informações de tipo, títulos de coluna e todas as propriedades dos objetos HistoryInfo. Se você pretende passar os objetos de volta para Add-History, não use o parâmetro NoTypeInformation do cmdlet Export-Csv e não exclua as informações de tipo, títulos de coluna ou quaisquer campos no arquivo. Para modificar o histórico da sessão, exporte a sessão para um arquivo CSV ou XML, modifique o arquivo, importe o arquivo e use Add-History para anexá-lo ao histórico de sessão atual.