O PowerShell no Windows 10 pode fornecer um histórico de todos os comandos executados na sessão atual, no entanto, para muitos usuários, isso não é suficiente. Eles precisam de um histórico de comandos executados nas sessões. Se você precisar obter o histórico de comandos do PowerShell e o histórico da sessão atual sozinho não funcionar, há um script e um arquivo de log que podem ajudá-lo.
últimas postagens
Sessão atual do histórico de comandos
Se estiver executando o PowerShell 5, você 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 comandos, mas 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 de histórico de comandos onde o padrão é definido como 50. Altere-o 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 de Intel. Primeiro, abra o seguinte local e verifique se há um arquivo chamado Microsoft.PowerShell_profile.ps1 neste local.
C:Users<username>DocumentsWindowsPowerShell
Se não houver nenhum arquivo, abra o PowerShell e execute o seguinte comando. Ele abrirá seu arquivo de perfil no bloco de notas, mas esse arquivo não existe e o PowerShell informará isso 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 garantir que você esteja executando o PowerShell 5.
$PSVersionTable.PSVersion
Em seguida, defina sua política de execução como RemoteSigned com o comando a seguir.
set-executionpolicy remotesigned
Em seguida, você precisa instalar o PsUrl e PSReadline módulos. Você pode instalá-los com o seguinte comando, porém, se receber um erro, basta instalá-los manualmente pelo processo descrito nas páginas vinculadas ou tente adicionar o repositório como um repositório confiável e, em seguida, execute 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, mas há uma etapa muito importante 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.