Windows PowerShell - How to view commands history date/time

Solution 1:

On Windows 10, the PS extension PsReadline comes with PowerShell 5 by default. Get-Content on the following to view your full command history.

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

To make it available on Windows 7, you have to make sure you have the latest Framework and PowerShell 5 installed. Then you can install the PsReadline module.

I just did on a Windows 7 (64) machine:

(executionpolicy : remotesigned)

Install-Module PSReadLine ( I was asked to install NuGet-anycpu.exe, and answered yes).

Import-Module PsReadLine

Your history will now be stored in the file mentionned above (verified)

Run Get-PSReadlineKeyHandler to have a list of PSReadline Key bindings.

Solution 2:

The Powershell history is saved in the file ConsoleHost_history.txt to find the location of the file execute this PS command: (Get-PSReadlineOption).HistorySavePath

Solution 3:

As far as I'm aware, once you close a PowerShell console all history and logs are disposed.

You could check out something like: Giving PowerShell a Persistent History of Commands

Of course this won't retrieve anything you've already done, it will only start logging from the point you install it.

EDIT: PowerShell 5.0 appears to have implemented a persistent history, available even after restart, accessible via the usual ways.

Solution 4:

For PowerShell 5.1 and PowerShell Core, I've added this to my $PROFILE to make it a little easier to remember:

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