Windows PowerShell - Como exibir a data / hora do histórico de comandos

12

Quero listar os comandos inseridos no Windows PowerShellcom seus respectivos carimbos de data e hora. Como posso fazer isso com Get-Historycomando?

Além disso, se isso não for possível, mostre-me uma maneira de verificar urls(network)em quais horários os acessos de data e hora foram acessados ​​através do CMD.

Considere também que eu reiniciei meu computador.

Ramin
fonte

Respostas:

17

No Windows 10, a extensão PS PsReadline vem com o PowerShell 5 por padrão. Get-Content, a seguir, para exibir seu histórico completo de comandos.

C: \ Usuários \ nome de usuário \ AppData \ Roaming \ Microsoft \ Windows \ PowerShell \ PSReadline \ ConsoleHost_history.txt

Para disponibilizá-lo no Windows 7, você deve ter o Framework e PowerShell 5 mais recentes instalados. Então você pode instalar o módulo PsReadline.

Acabei de fazer em uma máquina Windows 7 (64):

(política de execução: remotesigned)

Módulo de instalação PSReadLine (fui solicitado a instalar o NuGet-anycpu.exe e respondi que sim).

Módulo de importação PsReadLine

Seu histórico agora será armazenado no arquivo mencionado acima (verificado)

Execute Get-PSReadlineKeyHandler para ter uma lista de ligações de teclas PSReadline.

Dan St-G
fonte
O diretório C:\Users\DavidPostill\AppData\Roaming\Microsoft\Windows\PowerShellnão existe para mim ...
DavidPostill
Verdadeiro se você estiver executando versões anteriores do PS. Obrigado pela informação.
Dan St-G
Hmm. Estou executando a versão 5.0 - qual versão você está executando?
DavidPostill
Parece que não há PSReadlinena implementação do Windows 7 do PowewrShell 5.0.
DavidPostill
Você está absolutamente certo, David, desculpe pelo engano. Postagem editada.
Dan St-G
3

Pelo que sei, depois de fechar um console do PowerShell, todo o histórico e logs são descartados.

Você pode conferir algo como: Fornecer ao PowerShell um histórico persistente de comandos

É claro que isso não recuperará tudo o que você já fez, apenas iniciará o log a partir do momento em que você o instalar.

EDIT: O PowerShell 5.0 parece ter implementado um histórico persistente, disponível mesmo após a reinicialização, acessível das formas usuais.

Deadly-Bagel
fonte
3

O histórico do Powershell é salvo no arquivo ConsoleHost_history.txt para encontrar o local do arquivo, execute este comando PS: - (Get-PSReadlineOption) .HistorySavePath

AcmeUK
fonte
0

Para o PowerShell 5.1 e o PowerShell Core, adicionei isso ao meu $PROFILEpara facilitar a lembrança:

function Get-PSReadLineHistory
{
    Get-Content (Get-PSReadlineOption).HistorySavePath
}
Glenn
fonte
-2

Obter histórico | Selecione StartExecutionTime, ID, CommandLine

James Sargent
fonte
Isso funciona apenas para a sessão atual do shell. OP havia reiniciado seu computador.
guest-vm