O Windows PowerShell tem um recurso de histórico de comando interno que fornece informações detalhadas sobre os comandos executados. Como o Prompt de Comando, o PowerShell só lembra do seu histórico de comandos para a sessão atual.
Índice
Como usar o buffer de linha de comando
O PowerShell tecnicamente tem dois tipos de histórico de comando. Primeiro, há o buffer de linha de comando, que na verdade faz parte do aplicativo gráfico do terminal PowerShell e não do aplicativo Windows PowerShell subjacente. Ele fornece alguns recursos básicos:
- Seta para cima : recupera o comando anterior que você digitou. Pressione a tecla repetidamente para percorrer seu histórico de comandos.
- Seta para baixo : recupere o próximo comando que você digitou. Pressione a tecla repetidamente para percorrer seu histórico de comandos.
- F8 : Pesquise no histórico de comandos um comando que corresponda ao texto da linha de comando atual. Portanto, se você quiser pesquisar um comando que comece com “p”, digite “p” na linha de comando e toque repetidamente em F8 para percorrer os comandos em seu histórico que começam com “a”.
Por padrão, o buffer lembra os últimos 50 comandos que você digitou. Para alterar isso, clique com o botão direito na barra de título da janela de prompt do PowerShell, selecione “Propriedades” e altere o valor de “Tamanho do buffer” em Histórico de comandos.
Como visualizar o histórico do PowerShell
O próprio Windows PowerShell mantém um histórico dos comandos que você digitou na sessão atual do PowerShell. Você pode usar vários cmdlets incluídos para exibir e trabalhar com seu histórico.
Para visualizar o histórico de comandos que você digitou, execute o seguinte cmdlet:
Get-History
Você pode pesquisar seu histórico canalizando a saída resultante para o Select-String
cmdlet e especificando o texto que deseja pesquisar. Substitua “Exemplo” no cmdlet abaixo pelo texto que você deseja pesquisar:
Get-History | Select-String -Pattern "Exemplo"
Para visualizar um histórico de comando mais detalhado que exibe o status de execução de cada comando junto com seus horários de início e término, execute o seguinte comando:
Get-History | Format-List -Property *
Por padrão, o Get-History
cmdlet mostra apenas as 32 entradas de histórico mais recentes. Se você deseja visualizar ou pesquisar um número maior de entradas de histórico, use a -Count
opção para especificar quantas entradas de histórico o PowerShell deve mostrar, assim:
Get-History -Count 1000 Get-History -Count 1000 | Select-String -Pattern "Exemplo" Get-History -Count 1000 | Format-List -Property *
Como executar comandos do seu histórico
Para executar um comando de seu histórico, use o seguinte cmdlet, especificando o número de Id do item de histórico conforme mostrado pelo Get-History
cmdlet:
Invoke-History #
Para executar dois comandos do seu histórico consecutivamente, use Invoke-History
duas vezes na mesma linha, separados por ponto e vírgula. Por exemplo, para executar rapidamente o primeiro comando em seu histórico e depois o segundo, você executaria:
Invoke-History 1; Invoke-History 2
Como limpar seu histórico do PowerShell
Para limpar o histórico de comandos que você digitou, execute o seguinte cmdlet:
Apagar o histórico
Observe que o buffer de linha de comando é separado do histórico do PowerShell. Portanto, mesmo depois de executar Clear-History
, você pode continuar pressionando as teclas de seta para cima e para baixo para percorrer os comandos digitados. No entanto, se você executar Get-History
, verá que o histórico do PowerShell está vazio.
PowerShell não se lembra do seu histórico entre as sessões. Para apagar ambos os históricos de comando da sessão atual, tudo que você precisa fazer é fechar a janela do PowerShell.
Se quiser limpar a janela do PowerShell depois de limpar o histórico, você pode fazer isso executando o Clear
comando:
Claro
Como salvar e importar seu histórico do PowerShell
Se você deseja salvar o histórico de comandos do PowerShell para a sessão atual para consultá-lo mais tarde, pode fazer isso.
Get-History | Export-Clixml -Path c: \ users \ name \ desktop \ commands.xml
Isso exporta seu histórico de comandos como um arquivo XML detalhado completo com os valores “StartExecutionTime” e “EndExecutionTime” para cada comando que informa quando o comando foi executado e quanto tempo levou para ser concluído.
Depois de exportar seu histórico do PowerShell para um arquivo XML, você (ou qualquer outra pessoa para quem enviar o arquivo XML) pode importá-lo para outra sessão do PowerShell com o cmdlet Add-History:
Add-History -InputObject (Import-Clixml -Path C: \ users \ name \ desktop \ commands.xml)
Se você executar o Get-History
cmdlet após importar esse arquivo XML, verá que os comandos do arquivo XML foram importados para o histórico da sessão atual do PowerShell.