Histórico PowerShell Windows 10: Veja como acessar seus comandos!

Foto do autor

By luis

O PowerShell no Windows 10 oferece a capacidade de rastrear todos os comandos executados durante uma sessão ativa. No entanto, muitos usuários necessitam de um registro histórico que transcenda sessões individuais. Se a sua necessidade for consultar um histórico de comandos do PowerShell que vá além da sessão atual, existem soluções via script e arquivos de log que podem ser muito úteis.

Histórico de Comandos da Sessão Atual

Se estiver utilizando o PowerShell 5, você pode facilmente acessar o histórico de comandos da sua sessão em execução com o seguinte comando:

Get-History

Por padrão, o PowerShell retém um registro dos últimos 50 comandos, mas esse limite é ajustável. Para aumentar a capacidade de armazenamento do histórico, abra o PowerShell e clique com o botão direito na barra de título da janela. Selecione “Propriedades” no menu de contexto e, em seguida, navegue até a aba “Opções”. Lá, você encontrará a seção “Histórico de Comandos” e poderá modificar o valor padrão para um número maior.

Registro do Histórico do PowerShell

Para acessar um registro de histórico mais abrangente, é necessário instalar primeiro o módulo PSReadLine usando o seguinte comando:

Install-Module PSReadLine

Em seguida, execute este comando para obter o caminho do arquivo de log. Este arquivo contém um histórico completo de todos os comandos executados no PowerShell:

(Get-PSReadlineOption).HistorySavePath

Histórico de Comandos do PowerShell entre Sessões

Este método requer um pouco mais de configuração, mas é altamente eficaz. A solução foi originalmente proposta pela Intel. Comece verificando a existência do arquivo “Microsoft.PowerShell_profile.ps1” na seguinte localização:

C:Users<username>DocumentsWindowsPowerShell

Se o arquivo não existir, abra o PowerShell e execute este comando, que abrirá o arquivo de perfil no Bloco de Notas. Caso o arquivo não exista, o PowerShell avisará e perguntará se deseja criá-lo. Confirme a criação.

notepad $Profile

Feche o arquivo do Bloco de Notas. No PowerShell, execute este comando para confirmar que você está usando o PowerShell 5:

$PSVersionTable.PSVersion

Em seguida, configure a política de execução para “RemoteSigned” com o seguinte comando:

set-executionpolicy remotesigned

Agora, instale os módulos PsUrl e PSReadline. Você pode usar estes comandos para instalá-los. Caso ocorra um erro, instale-os manualmente seguindo as instruções nas páginas vinculadas ou adicione o repositório como confiável e tente o comando novamente.

install-module PsUrl
install-module PSReadline

Com os módulos instalados, abra o arquivo:

C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Copie e cole o seguinte conteúdo dentro deste arquivo e salve:

$HistoryFilePath = Join-Path ([Environment]::GetFolderPath('UserProfile')) .ps_history
Register-EngineEvent PowerShell.Exiting -Action { Get-History | Export-Clixml $HistoryFilePath } | out-null
if (Test-path $HistoryFilePath) { Import-Clixml $HistoryFilePath | Add-History }
# if you don't already have this configured...
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

Para visualizar o histórico de comandos, você utilizará o comando Get-History, mas uma etapa é crucial para garantir que seu histórico seja salvo corretamente: você NÃO pode fechar o PowerShell clicando no botão de fechar. Em vez disso, sempre use o comando ‘exit’ para encerrar a sessão.

Utilize as teclas de seta para cima e para baixo para navegar pelos comandos anteriores.