Add-History
Anexa entradas ao histórico da sessão.
Sintaxe
Add-History [[-InputObject] <PSObject[]>] [-PassThru] [<CommonParameters>]
Descrição
O cmdlet Add-History adiciona entradas ao fim do histórico da sessão, ou seja, à 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-History, ou exportar os comandos para um arquivo CSV ou XML, importar os comandos e passar o arquivo importado para Add-History. Você pode utilizar esse cmdlet para adicionar comandos específicos ao histórico ou criar um arquivo de histórico único que inclua comandos de mais de uma sessão.
Parâmetros
-InputObject <PSObject[]>
Adiciona o objeto HistoryInfo especificado ao histórico da sessão. Você pode usar esse parâmetro para enviar um objeto HistoryInfo de Get-History, Import-Clixml ou Import-CSV para Add-History.
Necessário? |
false |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue) |
Aceitar caracteres curinga? |
false |
-PassThru
Retorna um objeto de histórico para cada entrada de histórico. Por padrão, este cmdlet não gera nenhuma saída.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
Microsoft.PowerShell.Commands.HistoryInfo É possível canalizar um objeto HistoryInfo para Add-History. |
Saídas |
Nenhum ou Microsoft.PowerShell.Commands.HistoryInfo Quando você utiliza o parâmetro PassThru, Add-History gera um objeto HistoryInfo. Caso contrário, esse cmdlet não gera 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 gerados para cada comando por Get-History. Não é possível passar para ele 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 comando Get-History para um arquivo usando Export-CSV ou Export-Clixml e, em seguida, importe o arquivo usando Import-CSV ou Import-Clixml. Em seguida, você pode passar o arquivo de objetos HistoryInfo importados 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 Add-History deve incluir as informações de tipo, os títulos das colunas e todas as propriedades dos objetos HistoryInfo. Se você pretende passar os objetos novamente para Add-History, não use o parâmetro NoTypeInformation de Export-CSV e não exclua as informações de tipo, títulos de colunas ou quaisquer campos no arquivo.
Para editar o histórico da sessão, exporte a sessão para um arquivo CSV ou XML, edite o arquivo, importe-o e use Add-History para anexá-lo ao histórico da sessão atual.
Exemplo 1
C:\PS>get-history | export-csv c:\testing\history.csv
C:\PS>import-csv history.csv | add-history
Descrição
-----------
Esses comandos adicionam os comandos digitados em uma sessão do Windows PowerShell ao histórico de uma sessão diferente do Windows PowerShell. O primeiro comando obtém os 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 utiliza o cmdlet Import-Csv para importar os objetos no arquivo History.csv. O operador de pipeline passa os objetos para o cmdlet Add-History, o qual adiciona os objetos que representam os comandos no arquivo History.csv ao histórico da sessão atual.
Exemplo 2
C:\PS>import-clixml c:\temp\history.xml | add-history -passthru | foreach-object {invoke-history}
Descrição
-----------
Esse comando importa comandos do arquivo History.xml, adiciona-os ao histórico da sessão atual e, em seguida, executa os comandos no histórico combinado.
O primeiro comando utiliza o comando 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 parâmetro Add-History, o qual adiciona os comandos ao histórico da sessão atual. O parâmetro PassThru passa os objetos que representam os comandos adicionados pelo pipeline.
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, que é colocado entre chaves ({}) porque ForEach-Object requer um bloco de script mesmo quando há só um comando a ser aplicado.
Exemplo 3
C:\PS>get-history -id 5 -count 5 | add-history
Descrição
-----------
Esse comando adiciona os primeiros cinco comandos do histórico ao fim da lista de históricos. Ele usa o cmdlet Get-History para obter os cinco comandos que terminam no comando 5. O operador de pipeline (|) passa os comandos para o cmdlet Add-History, o qual os anexa ao histórico atual. O comando Add-History não inclui nenhum parâmetro, mas o Windows PowerShell associa os objetos passados pelo pipeline ao parâmetro InputObject.
Exemplo 4
C:\PS>$a = import-csv c:\testing\history.csv
C:\PS>add-history -inputobject $a -passthru
Descrição
-----------
Esses comandos adicionam os comandos do arquivo History.csv ao histórico da sessão atual. O primeiro comando utiliza o cmdlet Import-Csv para importar os comandos no arquivo History.csv e para armazenar seu conteúdo na variável $a. O segundo comando utiliza o cmdlet Add-History para adicionar os comandos de History.csv ao histórico da sessão atual. Ele utiliza 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, Add-History não gera nenhuma saída a ser exibida.
Exemplo 5
C:\PS>add-history -inputobject (import-clixml c:\temp\history01.xml)
Descrição
-----------
Esse comando adiciona os comandos do arquivo History01.xml ao histórico da sessão atual. Ele utiliza o parâmetro InputObject para passar os resultados do comando entre parênteses para Add-History. O comando entre parênteses, que é executado primeiro, importa o arquivo History01.xml para o Windows PowerShell. Em seguida, Add-History adiciona os comandos do arquivo ao histórico da sessão.