Windows PowerShell - Anzeigen des Befehlsverlaufs Datum / Uhrzeit

12

Ich möchte eingegebene Befehle in Windows PowerShellmit ihren jeweiligen Zeitstempeln auflisten. Wie kann ich das mit Get-HistoryBefehl machen?

Auch wenn dies nicht möglich ist, zeigen Sie mir bitte, wie Sie überprüfen können, urls(network)auf welche Zeitstempel über das zugegriffen wurde CMD.

Bedenken Sie auch, dass ich meinen Computer neu gestartet habe.

Ramin
quelle

Antworten:

17

Unter Windows 10 wird die PS-Erweiterung PsReadline standardmäßig mit PowerShell 5 geliefert. Holen Sie sich den folgenden Inhalt, um Ihren vollständigen Befehlsverlauf anzuzeigen.

C: \ Benutzer \ Benutzername \ AppData \ Roaming \ Microsoft \ Windows \ PowerShell \ PSReadline \ ConsoleHost_history.txt

Um es unter Windows 7 verfügbar zu machen, müssen Sie sicherstellen, dass das neueste Framework und PowerShell 5 installiert sind. Anschließend können Sie das PsReadline-Modul installieren.

Ich habe es gerade auf einem Windows 7 (64) Computer gemacht:

(Ausführungsrichtlinie: ferngesteuert)

Install-Modul PSReadLine (Ich wurde gebeten, NuGet-anycpu.exe zu installieren, und antwortete mit Ja).

Import-Modul PsReadLine

Ihr Verlauf wird nun in der oben genannten Datei gespeichert (überprüft)

Führen Sie Get-PSReadlineKeyHandler aus , um eine Liste der PSReadline-Schlüsselbindungen anzuzeigen.

Dan St-G
quelle
Das Verzeichnis C:\Users\DavidPostill\AppData\Roaming\Microsoft\Windows\PowerShellexistiert nicht für mich ...
DavidPostill
Richtig, wenn Sie frühere Versionen von PS ausführen. Danke für die Information.
Dan St-G
Hmm. Ich verwende Version 5.0 - welche Version verwenden Sie?
DavidPostill
Es sieht so aus, als ob es PSReadlinein der Windows 7-Implementierung von PowewrShell 5.0 keine gibt .
DavidPostill
Du hast absolut Recht, David, entschuldige die Irreführung. Beitrag bearbeitet.
Dan St-G
3

Soweit mir bekannt ist, werden nach dem Schließen einer PowerShell-Konsole alle Verlaufsdaten und Protokolle entsorgt.

Sie könnten sich Folgendes ansehen: Folgendes ansehen Geben Sie PowerShell einen dauerhaften Verlauf von Befehlen

Dies ruft natürlich nichts ab, was Sie bereits getan haben, sondern beginnt erst ab dem Zeitpunkt der Installation mit der Protokollierung.

BEARBEITEN: PowerShell 5.0 scheint einen dauerhaften Verlauf implementiert zu haben, der auch nach dem Neustart verfügbar ist und auf die übliche Weise zugänglich ist.

Tödlicher Bagel
quelle
3

Der Powershell-Verlauf wird in der Datei ConsoleHost_history.txt gespeichert, um den Speicherort der Datei zu ermitteln. Führen Sie diesen PS-Befehl aus: - (Get-PSReadlineOption) .HistorySavePath

AcmeUK
quelle
0

Für PowerShell 5.1 und PowerShell Core habe ich Folgendes hinzugefügt $PROFILE, um das Erinnern zu erleichtern:

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

Get-History | Wählen Sie StartExecutionTime, ID, CommandLine

James Sargent
quelle
Dies funktioniert nur für die aktuelle Shell-Sitzung. OP hatte seinen Computer neu gestartet.
Gast-vm