Windows PowerShell: come visualizzare la cronologia dei comandi data / ora


12

Voglio elencare i comandi immessi in Windows PowerShellcon i rispettivi timestamp. Come posso farlo con il Get-Historycomando?

Inoltre, se ciò non è possibile, ti prego di mostrarmi un modo per verificare urls(network)a quali timestamp è stato effettuato l'accesso tramite CMD.

Considera anche che ho riavviato il mio computer.

Risposte:


17

Su Windows 10, l'estensione PS PsReadline viene fornita con PowerShell 5 per impostazione predefinita. Ottieni contenuti su quanto segue per visualizzare la cronologia completa dei comandi.

C: \ Users \ nome utente \ AppData \ Roaming \ Microsoft \ Windows \ PowerShell \ PSReadline \ ConsoleHost_history.txt

Per renderlo disponibile su Windows 7, devi assicurarti di avere installato l'ultimo Framework e PowerShell 5. Quindi è possibile installare il modulo PsReadline.

Ho appena fatto su una macchina Windows 7 (64):

(polizia esecutiva: telecomandata)

Install-Module PSReadLine (mi è stato chiesto di installare NuGet-anycpu.exe e ho risposto sì).

Modulo di importazione PsReadLine

La tua cronologia verrà ora memorizzata nel file sopra menzionato (verificato)

Esegui Get-PSReadlineKeyHandler per avere un elenco di associazioni di tasti PSReadline.


La directory C:\Users\DavidPostill\AppData\Roaming\Microsoft\Windows\PowerShellnon esiste per me ...
DavidPostill

Vero se stai utilizzando versioni precedenti di PS. Grazie per le informazioni.
Dan St-G,

Hmm. Sto eseguendo la versione 5.0 - quale versione stai eseguendo?
DavidPostill

Sembra che non ci sia alcun PSReadlinenell'implementazione di Windows 7 di PowewrShell 5.0.
DavidPostill

Hai assolutamente ragione David, scusa per l'ingannevole. Post modificato.
Dan St-G,

3

Per quanto ne so, una volta chiusa una console di PowerShell vengono eliminati tutti i registri e la cronologia.

Puoi dare un'occhiata a qualcosa del tipo: Dare a PowerShell una storia persistente di comandi

Ovviamente questo non recupererà nulla di ciò che hai già fatto, inizierà la registrazione solo dal punto in cui lo installi.

EDIT: PowerShell 5.0 sembra aver implementato una cronologia persistente, disponibile anche dopo il riavvio, accessibile tramite i soliti modi.


3

La cronologia di Powershell viene salvata nel file ConsoleHost_history.txt per trovare la posizione del file eseguire questo comando PS: - (Get-PSReadlineOption) .HistorySavePath


0

Per PowerShell 5.1 e PowerShell Core, ho aggiunto questo al mio $PROFILEper renderlo un po 'più facile da ricordare:

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

-2

Ottieni storia | Seleziona StartExecutionTime, ID, CommandLine


Funziona solo per l'attuale sessione di shell. OP aveva riavviato il suo computer.
guest-vm
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.