Add-History
Acrescenta entradas ao histórico da sessão.
Sintaxe
Default (Padrão)
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.
O histórico da sessão é uma lista dos comandos inseridos durante a sessão. 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 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.
O histórico de sessão é gerenciado separadamente do histórico mantido pelo módulo PSReadLine. Os dois históricos estão disponíveis nas sessões em que se carrega PSReadLine. Esse cmdlet funciona apenas com o histórico da sessão. Para obter mais informações, consulte about_PSReadLine.
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
Este exemplo adiciona os comandos digitado em uma sessão do PowerShell ao histórico de uma sessão diferente do PowerShell.
Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History
O primeiro comando obtém objetos que representam os comandos no histórico e os exporta para o arquivo History.csv.
O segundo comando é digitado na linha de comando de uma sessão diferente. Ele usa o cmdlet Import-Csv para importar os objetos no arquivo History.csv. 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
Este exemplo importa comandos do arquivo History.xml, adiciona-os ao histórico de sessão atual e executa os comandos no histórico combinado.
Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}
O primeiro comando usa o cmdlet Import-Clixml para importar 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 comando adicionados abaixo do pipeline.
Em seguida, o comando usa o cmdlet ForEach-Object para aplicar o comando Invoke-History a cada um dos comandos no histórico combinado. O comando Invoke-History é formatado como um bloco de script, entre chaves ({}), conforme exigido pelo parâmetro Process do cmdlet ForEach-Object.
Exemplo 3: Acrescentar comandos ao final do histórico
Este exemplo adiciona os cinco primeiros comandos do histórico ao final da lista de comandos.
Get-History -Id 5 -Count 5 | Add-History
O cmdlet Get-History obtém os cinco comandos que terminam no comando 5. O operador de pipeline passa-os ao cmdlet Add-History, que acrescenta-os ao histórico atual. O comando Add-History não inclui parâmetros, mas o 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
Este exemplo adiciona os comandos no arquivo History.csv ao histórico de sessão atual.
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
O cmdlet Import-Csv importa os comandos no arquivo History.csv e armazena 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 Add-History não gera nenhuma saída.
Exemplo 5: Adicionar comandos em um arquivo .xml ao histórico atual
Este exemplo adiciona os comandos no arquivo history.xml ao histórico de sessão atual.
Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)
O parâmetro InputObject passa os resultados do comando entre parênteses para o cmdlet Add-History. O comando entre parênteses, que é executado primeiro, importa o arquivo history.xml para o 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 da sessão como um objeto HistoryInfo. 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.
Propriedades do parâmetro
| Tipo: | PSObject[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-PassThru
Indica que esse cmdlet retorna um objeto HistoryInfo para cada entrada de histórico. Por padrão, esse cmdlet não gera nenhuma saída.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
HistoryInfo
Você pode redirecionar um objeto HistoryInfo para este cmdlet.
Saídas
None
Por padrão, esse cmdlet não retorna nenhuma saída.
HistoryInfo
Quando você usa o parâmetro PassThru, este cmdlet retorna um objeto HistoryInfo.
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 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 Add-History. 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 importados HistoryInfo para Add-History 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.