Como pesquisar o histórico de comandos do Powershell de sessões anteriores

3

Eu uso o Windows 10 atual com o Powershell 5.1. Muitas vezes, quero procurar comandos que usei no passado para modificá-los e / ou executá-los novamente. Inevitavelmente, os comandos que estou procurando foram executados em uma janela / sessão anterior ou diferente do PowerShell.

Quando pressiono a tecla , posso navegar por muitos, muitos comandos de muitas, muitas sessões, mas quando tento pesquisar por eles usando Get-History | Where-Object {$_.CommandLine -Like "*docker cp*"} , não obtenho resultados. A solução de problemas básica revela que Get-History não mostra nada de sessões anteriores, conforme mostrado por:

C:\Users\Me> Get-History

  Id CommandLine
  -- -----------
   1 Get-History | Where-Object {$_.CommandLine -Like "*docker cp*"}

Como posso pesquisar os comandos anteriores que a chave fornece usando Get-History ou outro Cmdlet?

    
por shawmanz32na 08.01.2018 / 21:34

1 resposta

9

O histórico persistente mencionado é fornecido por PSReadLine . É separado do limite de sessão Get-History .

O histórico é armazenado em um arquivo definido pela propriedade (Get-PSReadlineOption).HistorySavePath . Veja este arquivo com Get-Content (Get-PSReadlineOption).HistorySavePath , ou um editor de texto, etc. Inspecione opções relacionadas com Get-PSReadlineOption . O PSReadLine também realiza pesquisas de histórico por meio de ctrl + r .

Usando seu exemplo fornecido:

Get-Content (Get-PSReadlineOption).HistorySavePath | ? { $_ -like '*docker cp*' }

    
por 08.01.2018 / 21:50