- - Como obter o histórico de comandos do PowerShell no Windows 10

Como obter o histórico de comandos do PowerShell no Windows 10

O PowerShell no Windows 10 pode fornecer um históricode todos os comandos que você executou na sessão atual, no entanto, para muitos usuários, isso não é suficiente. Eles precisam de um histórico de comandos executados entre as sessões. Se você precisar obter o histórico de comandos do PowerShell, e o histórico somente da sessão atual não funciona, há um script e um arquivo de log que podem ajudá-lo.

Histórico do Comando Sessão Atual

Se você estiver executando o PowerShell 5, poderá obter o histórico de comandos da sessão atual executando o seguinte comando;

Get-History

Por padrão, o PowerShell pode salvar até 50 comandosmas você pode alterá-lo para economizar mais. Abra o PowerShell e clique com o botão direito do mouse na barra de título. No menu de contexto, vá para Propriedades. Na janela Propriedades, vá para a guia Opções. Você verá uma seção Histórico de comandos, onde o padrão é definido como 50. Altere para um valor mais alto.

Log de histórico do PowerShell

Para visualizar o log do histórico, você precisa primeiro instalar o módulo PSReadLine com o seguinte comando;

Install-Module PSReadLine

Em seguida, execute o seguinte comando e ele retornará um local de arquivo. O arquivo neste local fornecerá um histórico completo de todos os comandos executados no PowerShell.

(Get-PSReadlineOption).HistorySavePath

Histórico de comandos do PowerShell entre sessões

Este é um processo um pouco longo, mas vale a pena. Esta solução vem da Intel. Primeiro abra o seguinte local e verifique se existe um arquivo chamado Microsoft.PowerShell_profile.ps1 neste local.

C:Users<username>DocumentsWindowsPowerShell

Se não houver arquivo, abra o PowerShell e executeo seguinte comando. Ele abrirá seu arquivo de perfil no bloco de notas, mas esse arquivo não existe e o PowerShell informará o mesmo e perguntará se você deseja criá-lo. Permita que ele crie o arquivo.

notepad $Profile

Feche o arquivo do bloco de notas que é aberto. No PowerShell, execute este comando para verificar se você está executando o PowerShell 5.

$PSVersionTable.PSVersion

Em seguida, defina sua política de execução como RemoteSigned com o seguinte comando.

set-executionpolicy remotesigned

Em seguida, você precisa instalar o PsUrl eMódulos PSReadline. Você pode instalá-los com o seguinte comando; se ocorrer um erro, basta instalá-los manualmente pelo processo descrito nas páginas vinculadas ou tentar adicionar o repositório como um repositório confiável e, em seguida, executar o comando novamente.

install-module PsUrl
install-module PSReadline

Agora que esses módulos foram instalados, abra este arquivo;

C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Cole o seguinte dentro deste arquivo e salve-o.

$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 no PowerShell,você precisa executar o comando Get-History, no entanto, há uma etapa muito crucial para garantir que seu histórico seja salvo. Você NÃO PODE fechar o PowerShell clicando no botão Fechar. Em vez disso, você deve sempre fechá-lo com o comando exit.

Você pode usar as teclas de seta Para cima e Para baixo para percorrer os comandos anteriores.

Comentários