Add-History
Acrescenta entradas ao histórico de sessões.
Syntax
Add-History
[[-InputObject] <PSObject[]>]
[-Passthru]
[<CommonParameters>]
Description
O Add-History
cmdlet adiciona entradas ao final do histórico de sessões, ou seja, a lista de comandos introduzidos durante a sessão atual.
O histórico de sessões é uma lista dos comandos introduzidos durante a sessão. O histórico de sessões representa a ordem de execução, o estado e as horas de início e de fim do comando. À medida que introduz cada comando, o PowerShell adiciona-o ao histórico para que possa reutilizá-lo. Para obter mais informações sobre o histórico de sessões, consulte about_History.
O histórico de sessões é gerido separadamente do histórico mantido pelo módulo PSReadLine . Ambos os históricos estão disponíveis em sessões em que o PSReadLine é carregado. Este cmdlet só funciona com o histórico de sessões. Para obter mais informações, veja about_PSReadLine.
Pode utilizar o Get-History
cmdlet para obter os comandos e transmiti-los para Add-History
, ou pode exportar os comandos para um ficheiro CSV ou XML, importar os comandos e transmitir o ficheiro importado para Add-History
. Pode utilizar este cmdlet para adicionar comandos específicos ao histórico ou para criar um único ficheiro de histórico que inclua comandos de mais do que uma sessão.
Exemplos
Exemplo 1: Adicionar comandos ao histórico de uma sessão diferente
Este exemplo adiciona os comandos escritos numa sessão do PowerShell ao histórico de uma sessão do PowerShell diferente.
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 exporta-os para o History.csv
ficheiro.
O segundo comando é escrito na linha de comandos de uma sessão diferente. Utiliza o Import-Csv
cmdlet para importar os objetos no History.csv
ficheiro. O operador de pipeline (|
) transmite os objetos para o Add-History
cmdlet, que adiciona os objetos que representam os comandos no History.csv
ficheiro ao histórico de sessões atual.
Exemplo 2: Importar e executar comandos
Este exemplo importa comandos do History.xml
ficheiro, adiciona-os ao histórico de sessões atual e, em seguida, 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 utiliza o Import-Clixml
cmdlet para importar um histórico de comandos que foi exportado para o History.xml
ficheiro. O operador de pipeline transmite os comandos para o cmdlet, o Add-History
que adiciona os comandos ao histórico de sessões atual. O parâmetro PassThru transmite os objetos que representam os comandos adicionados pelo pipeline.
Em seguida, o comando utiliza o ForEach-Object
cmdlet para aplicar o Invoke-History
comando a cada um dos comandos no histórico combinado. O Invoke-History
comando é formatado como um bloco de script, entre chavetas ({}
), conforme exigido pelo parâmetro Processo do ForEach-Object
cmdlet.
Exemplo 3: Adicionar comandos no histórico ao fim do histórico
Este exemplo adiciona os primeiros cinco comandos do histórico ao final da lista do 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 transmite-os para o Add-History
cmdlet, o que os acrescenta ao histórico atual. O Add-History
comando não inclui parâmetros, mas o PowerShell associa os objetos transmitidos através do pipeline com o parâmetro InputObject de Add-History
.
Exemplo 4: Adicionar comandos num ficheiro de .csv ao histórico atual
Este exemplo adiciona os comandos no History.csv
ficheiro ao histórico de sessões atual.
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
O Import-Csv
cmdlet importa os comandos no ficheiro e armazena os History.csv
respetivos conteúdos na variável $a
.
O segundo comando utiliza o Add-History
cmdlet para adicionar os comandos do ao histórico de History.csv
sessões atual. Utiliza o parâmetro InputObject para especificar a $a
variável e o parâmetro PassThru para gerar um objeto a apresentar na linha de comandos. Sem o parâmetro PassThru , o Add-History
cmdlet não gera nenhuma saída.
Exemplo 5: Adicionar comandos num ficheiro de .xml ao histórico atual
Este exemplo adiciona os comandos no history.xml
ficheiro ao histórico de sessões atual.
Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)
O parâmetro InputObject transmite os resultados do comando em parênteses para o Add-History
cmdlet. O comando em parênteses, que é executado primeiro, importa o ficheiro para o history.xml
PowerShell. Em Add-History
seguida, o cmdlet adiciona os comandos no ficheiro ao histórico de sessões.
Parâmetros
-InputObject
Especifica uma matriz de entradas a adicionar ao histórico como objeto HistoryInfo ao histórico de sessões.
Pode utilizar este parâmetro para submeter um objeto HistoryInfo , como os que são devolvidos pelos Get-History
cmdlets , Import-Clixml
ou Import-Csv
, para Add-History
.
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Passthru
Indica que este cmdlet devolve um objeto HistoryInfo para cada entrada do histórico. Por predefinição, este cmdlet não gera quaisquer dados.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Pode encaminhar um objeto HistoryInfo para este cmdlet.
Saídas
None
Por predefinição, este cmdlet não devolve nenhuma saída.
Quando utiliza o parâmetro PassThru , este cmdlet devolve um objeto HistoryInfo .
Notas
O histórico de sessões é uma lista dos comandos introduzidos durante a sessão juntamente com o ID. O histórico de sessões representa a ordem de execução, o estado e as horas de início e de fim do comando. À medida que introduz cada comando, o PowerShell adiciona-o ao histórico para que possa reutilizá-lo. Para obter mais informações sobre o histórico de sessões, consulte about_History.
Para especificar os comandos a adicionar ao histórico, utilize o parâmetro InputObject . O Add-History
comando aceita apenas objetos HistoryInfo , como os devolvidos para cada comando pelo Get-History
cmdlet. Não pode transmitir-lhe um caminho e um nome de ficheiro ou uma lista de comandos.
Pode utilizar o parâmetro InputObject para transmitir um ficheiro de objetos HistoryInfo para Add-History
. Para tal, exporte os resultados de um Get-History
comando para um ficheiro com o Export-Csv
cmdlet ou Export-Clixml
e, em seguida, importe o ficheiro com os Import-Csv
cmdlets ou Import-Clixml
. Em seguida, pode transmitir o ficheiro de objetos HistoryInfo importados através Add-History
de um pipeline ou numa variável. Para obter mais informações, veja os exemplos.
O ficheiro de objetos HistoryInfo que transmite ao Add-History
cmdlet tem de incluir as informações do tipo, os cabeçalhos de coluna e todas as propriedades dos objetos HistoryInfo . Se pretender transmitir os objetos de volta para Add-History
o , não utilize o parâmetro NoTypeInformation do Export-Csv
cmdlet e não elimine as informações do tipo, cabeçalhos de coluna ou quaisquer campos no ficheiro.
Para modificar o histórico de sessões, exporte a sessão para um ficheiro CSV ou XML, modifique o ficheiro, importe o ficheiro e utilize Add-History
para o acrescentar ao histórico de sessões atual.