Add-History
Acrescenta entradas ao histórico da sessão.
Sintaxe
Add-History
[[-InputObject] <PSObject[]>]
[-PassThru]
[<CommonParameters>]
Description
O Add-History
cmdlet adiciona entradas ao final do histórico da sessão, ou seja, à 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 as horas 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 da sessão é gerenciado separadamente do histórico mantido pelo módulo PSReadLine . Ambos os históricos estão disponíveis em sessões onde o PSReadLine é carregado. Este cmdlet só funciona com o histórico da sessão. Para obter mais informações, consulte about_PSReadLine.
Você pode usar o Get-History
cmdlet para obter os comandos e passá-los para Add-History
o , ou pode 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 para 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 digitados 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 History.csv
arquivo.
O segundo comando é digitado na linha de comando de uma sessão diferente. Ele usa o Import-Csv
cmdlet para importar os objetos no History.csv
arquivo. O operador de pipeline (|
) passa os objetos para o Add-History
cmdlet, que adiciona os objetos que representam os History.csv
comandos no arquivo ao histórico da sessão atual.
Exemplo 2: Importar e executar comandos
Este exemplo importa comandos do History.xml
arquivo, adiciona-os ao histórico da 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 Import-Clixml
cmdlet para importar um histórico de comandos que foi exportado para o History.xml
arquivo. O operador de pipeline passa os comandos para o Add-History
cmdlet, que adiciona os comandos ao histórico de sessões atual. O parâmetro PassThru passa os objetos que representam os comandos adicionados pelo pipeline.
Em seguida, o comando usa o ForEach-Object
cmdlet para aplicá-lo a cada um Invoke-History
dos comandos no histórico combinado. O Invoke-History
comando é formatado como um bloco de script, entre chaves ({}
), conforme exigido pelo parâmetro Process do ForEach-Object
cmdlet.
Exemplo 3: Adicionar comandos no histórico ao final do histórico
Este exemplo adiciona os cinco primeiros comandos do histórico ao final da lista de histórico.
Get-History -Id 5 -Count 5 | Add-History
O Get-History
cmdlet obtém os cinco comandos que terminam no comando 5. O operador de pipeline os passa para o Add-History
cmdlet, que os acrescenta ao histórico atual. O Add-History
comando 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 de .csv ao histórico atual
Este exemplo adiciona os comandos no History.csv
arquivo ao histórico da sessão atual.
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
O Import-Csv
cmdlet importa os comandos no arquivo e armazena History.csv
seu conteúdo na variável $a
.
O segundo comando usa o Add-History
cmdlet para adicionar os comandos ao histórico de History.csv
sessões atual. Ele usa o parâmetro InputObject para especificar a $a
variável e o parâmetro PassThru para gerar um objeto a ser exibido na linha de comando. Sem o parâmetro PassThru , o Add-History
cmdlet não gera nenhuma saída.
Exemplo 5: Adicionar comandos em um arquivo .xml ao histórico atual
Este exemplo adiciona os comandos no history.xml
arquivo ao histórico da 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 Add-History
cmdlet. O comando entre parênteses, que é executado primeiro, importa o arquivo para o history.xml
PowerShell. Em Add-History
seguida, o cmdlet 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 que são retornados Get-History
pelos cmdlets , Import-Clixml
ou , para Import-Csv
Add-History
.
Tipo: | PSObject[] |
Position: | 0 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | 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.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
Você pode canalizar um objeto HistoryInfo para esse cmdlet.
Saídas
None
Por padrão, esse cmdlet não retorna nenhuma saída.
Quando você usa o parâmetro PassThru , esse cmdlet retorna um objeto HistoryInfo .
Notas
O histórico da sessão é uma lista dos comandos inseridos durante a sessão, juntamente com o ID. O histórico da sessão representa a ordem de execução, o status e as horas 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 Add-History
comando aceita apenas objetos HistoryInfo , como os retornados Get-History
para cada comando pelo cmdlet. Não é possível passar um caminho e 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 Get-History
comando para um arquivo usando o Export-Csv
cmdlet ou Export-Clixml
e, em seguida, importe o arquivo usando os Import-Csv
cmdlets ou Import-Clixml
. Em seguida, você pode passar o arquivo de objetos HistoryInfo importados para Add-History
através de um pipeline ou em uma variável. Para mais informações, consulte os exemplos.
O arquivo de objetos HistoryInfo que você passa para o Add-History
cmdlet deve incluir as informações de tipo, cabeçalhos de coluna e todas as propriedades dos objetos HistoryInfo. Se você pretende passar os objetos de volta para Add-History
o , não use o parâmetro NoTypeInformation do cmdlet e não exclua as informações de tipo, cabeçalhos de Export-Csv
coluna ou quaisquer campos no arquivo.
Para modificar o histórico da sessão, exporte-a para um arquivo CSV ou XML, modifique o arquivo, importe-o e use-o Add-History
para anexá-lo ao histórico da sessão atual.